Arquitectura de Diseño Identificación de Software El software a utilizar para el desarrollo del proyecto será: 1. Para la codificación: Lenguaje C# bajo la estructura .Net Visual Studio 2008 o 2010 ó Sharp Develop 4.0 Debido a que es un lenguaje ideal para la programación orientada a objetos además de que la utilización de este lenguaje con la aplicación para Windows Forms resulta en proyectos con interfaces gráficas que pueden ser diseñadas con alto detalle y muy atractivas para el usuario. 2. Para las bases de datos *Servidores: SQL Server MySQL *Archivos: Access SQLite El sistema se conectará a un servidor el cual será elegido de entre las dos opciones anteriormente mencionadas debido a que son Sistemas Manejadores de Bases de Datos (en inglés database management system, abreviado DBMS) los cuales ya tienen un lenguaje definido y estructurado para la consulta y creación de bases de datos, además de ser dos de los más usados en la programación. Y como archivos usaremos Access o SQLite por la razón de la usabilidad que dentro de las operabilidad resultan bastante comunes, Access que por ser creado por Microsoft tiene compatibilidad en el entorno Windows y SQLite por que la llamada a funciones que maneja hace más eficiente la consulta de las bases de datos. Identificación de Entradas/salidas Entrada de datos Usuario: Selección de Servidor Tipo entero derivado de un Radiobutton Selección de Archivo Tipo entero derivado de un Radiobutton Selección de rol de seguridad (Usuario/Administrador) String (Nombre Usuario, SA) Contraseña String Datos de las tablas El tipo de dato depende de cada campo en la tabla de la Base de Datos Eventos Método de creación de base de datos. Método de creación, modificación y consulta de tablas Salida de datos Base de Datos Reporte de consulta Reporte de Tabla Impresión de Reporte Identificación de Controles de Seguridad del sistema El control de la seguridad del sistema estará gestionado por el modo de acceso, ya sea como usuario o como administrador. Administrador. Tendrá acceso total a las características y opciones del sistema, podrá crear Bases de Datos desde cero, así como Manejar Bases de Datos existentes. Podrá crear, Modificar o Consultar Tablas Generar reportes de tablas o consultas Tendrá control sobre los demás usuarios, ya que éste es quien les otorga los permisos El acceso se ejemplifica en la figura 1.1, donde SQLServer maneja ambos tipos de acceso, en este caso SQL Server 2005 tiene conexión a un servidor y un acceso como tipo sa (en este caso) para lo cual nosotros utilizaremos para este proyecto estos roles de acceso y permisos de seguridad similares. Figura 1.1 Ejemplo de acceso en SQLServer 20051 1 http://abenzoar.wordpress.com/oracle/conexion-jdeveloper-sql-server-2005-base-de-datos/ 20-10-2011 8:33 p.m. Usuario Tendrá acceso limitado dependiendo de los permisos que le haya otorgado el administrador Inicialmente solo podrá crear, modificar y consultar tablas de bases de datos existentes y no podrá usar alguna otra función adicional más que generar reportes de las consultas realizadas Diseño Funcional Diagrama de flujo del Proyecto Manejador de Base de Datos El diagrama de flujo general del sistema queda como lo muestra la figura 1.2. Figura 1.2. Imagen que muestra el flujo general del Sistema Manejador de Base de Datos Diagrama de Clases del Proyecto Manejador de Base de Datos El diagrama de clases del sistema manejador de base de datos quedó estructurado como lo muestra la figura 1.3 Figura 1.3 Imagen que muestra el Diagrama de Clases del Sistema Manejador de Base de Datos Diseño Técnico Diseño de las entradas del sistema Formulario Principal de Accesso al sistema 1) Entrada para usuarios 2) Entrada para contraseñas Formulario de selección de opciones de trabajo (Servidor o archivo) 1) Entrada para los parámetros del servidor o Archivo Formulario de administrador 1) Entrada para el nombre de una Nueva Base de Datos 2) Entrada de eventos de clic para el menú de opciones de Crear o eliminar Base de Datos, crear o eliminar tablas, insertar o actualizar campos, consultar, herramientas y salir. Formulario para crear nuevos Usuarios 1) Nombre de Usuario Nuevo 2) Contraseña (“default”) 3) Permisos enlistados en CheckBox 4) Evento Clic para crear al usuario nuevo Formulario de Usuario 1) Nombre de Base de datos nueva 2) Eventos de clic para las opciones del Menú Formulario de Consulta 1) Nombre de la Base de Datos a Consultar 2) Nombre de la tabla 3) Nombre del Campo 4) Evento de clic para seleccionar todos los campos 5) Evento de clic para consultar 6) Evento de clic para imprimir Diseño de las interfaces del sistema Las interfaces de acceso al sistema se muestran y de selección del entorno a trabajar se muestran en las figuras 1.9 y 1.10 respectivamente presentando un diseño preliminar el cual puede cambiar de acuerdo a los criterios del líder de los codificadores y al criterio del cliente. Figura 1.9. Figura que muestra la interfaz de acceso al sistema En la figura 1.9 podemos observar la interfaz de inicio del sistema que cuenta con el proceso de acceso a éste mediante una autenticación de usuario ya sea usuario común o como administrador. Esta parte del diseño correspondiente a la interfaz inicial del sistema responde al requerimiento 1 del documento EntregableRequerimientos. El requerimiento 2 del documento Entregable-Requerimientos, describe la manera en que el usuario trabajará con el sistema mediante cuatro tipos de motor, dos se refieren a servidor los cuales son SQL Server y MySQL Server, mientras que las otras dos opciones que trabajan mediante archivo son Access y SQLite. Se deberá seleccionar al menos una de estas opciones para poder avanzar. La interfaz de selección se muestra en la figura 1.10. Figura 1.10. Figura que muestra la interfaz de selección de Servidor o Archivo del sistema El requerimiento 2 del documento Entregable-Requerimientos, describe la manera en que el usuario trabajará con el sistema mediante cuatro tipos de motor, dos se refieren a servidor los cuales son SQL Server y MySQL Server, mientras que las otras dos opciones que trabajan mediante archivo son Access y SQLite. Se deberá seleccionar al menos una de estas opciones para poder avanzar. La interfaz de selección se muestra en la figura 1.10. La imagen 1.11 muestra la interfaz correspondiente a las acciones que pueden realizarse una vez ingresado al sistema, donde se puede observar en la parte superior un comboBox donde se muestran las bases de datos existentes donde se pueden seleccionar una de ellas o bien, puede crearse una nueva, ingresando el nombre en la textBox que se encuentra a la derecha del comboBox y oprimiendo el botón Crear Base de Datos¸ ubicado dentro del recuadro de Menú, el cual muestra en su totalidad las opciones que se pueden realizar dentro del sistema. Los botones contienen un código que se genera deacuerdo a la función que se le asigne, el cual, se despliega dentro de la textBox Multiline del formulario. Esta especificación de diseño responde a los requerimientos 3, 6 y 7 del documento Entregable-Requerimientos. Figura 1.11. Figura que muestra la interfaz de administrador donde se puede interactuar con el sistema Dentro del menú, se visualiza la opción herramientas, donde al darle clic, se accederá a la interfaz para crear un nuevo usuario, en la cual, se ingresará el nombre del usuario nuevo, y se generará una contraseña que será “default” (el usuario posteriormente desde su cuenta la podrá cambiar) y un menú con los permisos que el administrador le asigne al usuario, al iniciar, el primer permiso es el de Consultar Base de Datos, y los demás ya son asignados por el administrador. Dichos permisos se concederán mediante controles checkBox. Además se tiene el botón “Crear Usuario” mediante el cual el nombre de usuario, la contraseña y sus permisos se guardan en un log encriptado con el algoritmo AES para cifrarlo como medida de seguridad. Este procedimiento responde a los requerimientos 4 y 5 del documento Entregable-Requerimientos y se muestra en la figura 1.12. Figura 1.12. Figura que muestra la creación de un nuevo usuario, así como los permisos que el administrador le puede asignar El botón de Consultar Reporte nos da acceso a la interfaz de reporte de la base de datos, en el cual, se ingresa el nombre de la Base de Datos, las tablas y los campos que se quieren consultar, además se tiene la opción de consultar todos los campos mediante el botón que lleva ese mismo nombre. Los datos consultados se mostrarán en un DataGridView. Dicho reporte se podrá imprimir. Todo esto se muestra en la figura 1.13. Esta sección del diseño responde al requerimiento 8 del documento Entregable-Requerimientos. Figura 1.13. Figura que muestra la consulta del reporte de la base de datos La interfaz de usuario, tendrá un diseño similar al de administrador, con la diferencia que en el menú de opciones únicamente se estarán habilitados tres botones: “Consultar Reporte”, “Herramientas” y “Salir”, las demás opciones dependerán de los permisos que se le hayan asignado al usuario, esto se visualiza en la figura 1.14. Esto responde al requerimiento 5 del documento EntregableRequerimientos. Figura 1.14. Figura que muestra la interfaz de Usuario con sus opciones dentro del sistema requerimiento 8 del documento Entregab