INFORMATIZACIÓN DE UN VIDEOCLUB José Fernández Expósito Ejercicio 5, Tema 3 INGENIERÍA DEL SOFTWARE Visión general: Se pretende analizar la posible creación de un sistema automatizado de manejo de los datos que utiliza un videoclub. Para ello, deberíamos entrevistar al cliente y conseguir una visión general del sistema, como la siguiente: Lo más importante es la gestión de un archivo de fichas de los clientes con sus datos personales, su balance de cuentas y las operaciones que va realizando con los productos del videoclub para una gestión de tiempos lo mas optima posible. A demás, el sistema debe tener una cierta protección de datas, que se implementará mediante un sistema de claves, y una opción de generación de informes impresos. El sistema central del videoclub debe tener constancia tanto de los productos alquilados o devueltos por los clientes. El proceso, a grandes rasgos es el siguiente: Los productos alquilados se apuntan. Al cliente se le informa del saldo que posee antes de realizar la operación, también va a ser informado del costo-tiempo (es decir, de la cantidad de dinero que va a costar su alquiler en relación con el tiempo: 2 horas = 1,20 €). Debe impedirse que un cliente pueda realizar operaciones de retirada de productos sin saldo disponible y limitar el tiempo de uso del sistema. Es interesante tener un historial de cada cliente Si se desea insertar un cliente nuevo, se crea una ficha con sus datos personales y se le asigna un número que le servirá para que el sistema lo identifique y el cliente además elegirá un número secreto, obligatorio introducir antes de poder realizar alguna operación con el sistema (seguridad). Al terminar una operación con el sistema, se apuntan en la ficha operaciones realizadas y además se tiene que marcar en el sistema central tanto si se trata de devolución como si se trate de alquiler. Con todos estos datos, el sistema debe realizar una gestión de cuentas, tanto general como separada en cuentas de clientes. Se debe implementar cierta protección al sistema, debido a la privacidad de cada ficha de clientes. Esto se realizará dando a cada usuario del sistema una password inicial, que él podrá cambiar cuando desee. Análisis de lo existente: Fichas de clientes: Se almacenan manualmente en una ficha con el siguiente formato. Apellidos: Nombre: Dirección: Localidad: Provincia: Código Postal: DNI: Password: Películas Adquiridas Fecha y hora (alquiler) Teléfono : Fecha y hora (devolución) Saldo El campo de saldo se calcula a través del tiempo que ha estado en alquiler un producto con una relación preestablecida y suficientemente conocida por el cliente, en la que a mayor tiempo mayor es el pago a realizar, algo obvio. El cliente debe estar informado sobre que películas han sido alquiladas anteriormente. Respecto a las variaciones de precios, no tienen una cadencia fija, sino que varían, por ejemplo, a partir de una variación de los precios del precio de las películas. A parte de todo esto, el sistema debe llevar la gestión de la contabilidad total. Actualmente esto se realiza en un libro de cuentas con los siguientes apartados: - Ingresos mensuales - Ingresos anuales - Total gastos mensual - Total gastos anual El sistema además debe tener constancia de las películas que van siendo tanto retiradas como devueltas para que de esta manera el sistema pueda informar a las clientes posteriores de la no disponibilidad o disponibilidad de los distintos productos del videoclub Otro punto importante es la gestión de clientes sin saldo o saldo insuficiente para un alquiler mínimo. Actualmente a dichos clientes no se les concede alquiler. La protección de los historiales es bastante importantes, algún tipo de protección. En el caso de perdida de una ficha, se intentan recordar los datos que contenía y se vuelven a preguntar al cliente los datos personales. Alternativas de diseño para el sistema ? Cajero automático Esta utilidad hoy en día es muy común entre todos los videoclub pues tiene la ventaja de ser un servicio de 24 horas. A cada cliente se le proporciona una tarjeta con banda magnética única y con la seguridad de introducir el número secreto del cliente para operar. Con esta tarjeta el cliente puede tanto realizar alquileres y devoluciones como aumentar su saldo además de toda la información necesaria del cliente. ? Alquiler a través de Internet Poner a disposición del cliente una página Web propia del videoclub. Donde introduciendo un login y un password se identifique al cliente, proporcionando de esta manera la posibilidad de ver una película a través de este medio de manera que se cargará a su saldo. Incluso se puede proporcionar un espacio donde comprar películas y aumentar el saldo a través de tarjeta bancaria. También se proporcionara todo tipo de información Elección del sistema más viable Hay muchos puntos a tener en cuenta a la hora de proponer el sistema más viable. En un primer momento decir que todo lo expuesto anteriormente es viable en todos sus sentidos. Si analizamos la opción del cajero automático es casi imprescindible hoy en día para que un videoclub tenga esperanza de proseguir además de otros factores que no forman parte de mi estudio. Esta opción tiene la ventaja de ser servicio de 24 horas y sin necesidad de tener que gastar dinero en más personal pues él por si solo se encarga de administrar, a no ser que tengamos algún tipo de fallo. En lo que respecta al alquiler a través de Internet es muy buena opción pero nos encontramos ante un problema. Pues mucha gente no dispone de un servicio de conexión a Internet y mucha menos gente de una conexión de banda ancha (imprescindible para ver películas en una buena calidad). Además el propietario debe tener a un personal cualificado en el medio que administre la Web Para finalizar, creo que una elección acertada es la del cajero automático. Especificación de Requerimientos INTERFACE El entorno donde se va a desarrollar nuestro sistema es como un PC personal, como un software empotrado, el cual tiene una aplicación, que es la que dirige todas las acciones. Para empezar a operar un cliente debe introducir su tarjeta, y con un lector de tarjetas leemos la información de la misma. Una vez leída y procesada el cliente debe introducir en el panel de botones proporcionado su password, para poder interactuar con el medio. La aplicación por sí sola contiene una base de datos con toda la información necesaria para que el usuario satisfaga sus necesidades a la hora de elegir producto. La aplicación por si sola controla el tiempo de que dispone el usuario antes de la penalización. Hay que tener en cuenta el tiempo utilizado por un cliente en buscar información sobre los productos, limitando su uso del sistema de la siguiente forma: cada un tiempo preestablecido (prudente) restar una cantidad de dinero establecida, el cliente debe estar informado en todo momento del tiempo restante para su penalización y la cantidad de dinero a penalizar. La base de datos debe proporcionar información sobre que productos han sido retirados anteriormente (por el mismo cliente) y que productos no pueden ser retirados ya que no están disponibles (lo tiene otro cliente). El cajero por sí solo tiene un espacio por el cual el usuario puede retirar el producto y además puede devolverlo, el sistema de devolución tiene un sistema de seguridad basado en el lector de códigos de barras que posee el cajero. SEGURIDAD El sistema debe ser fiable, no tiene que tener errores de almacenamiento o errores con los clientes. Por ejemplo nuestro sistema no debe errar a la hora de comprobar una tarjeta y además es imprescindible que no falle a la hora de borrar información de un cliente por cualquier tipo de fallo. Por lo que el sistema debe tener espacio en memoria para cada cliente de manera que no se superponga información una en otra, borrando información no deseada. Ha de tenerse muy en cuenta la posibilidad de que al introducir un producto o una tarjeta de un cliente el sistema no reaccione, para esta posibilidad el sistema debe bloquearse e informar a posteriores clientes que el sistema está imperativo, por lo menos hasta que el propietario se percate y ponga fin al problema. La supervivencia de datos operados es muy importante, de manera que el sistema ha de tener una base de datos donde almacena todas las operaciones realizadas en él. El sistema contiene un sistema propio de seguridad a través de un campo clave. Pues cada cliente tiene su propio password y su propio número de tarjeta almacenada en la banda magnética de la tarjeta que el lector lo interpreta y se lo comunica al sistema. El tiempo de respuesta tiene que ser mínimo, pues lo procesado es muy simple. El espacio de almacenamiento no se puede sobrepasar en un cajero ya que es solamente un sistema de consulta y de modificació n de datos de la misma naturaleza. DESARROLLO La mantenibilidad del sistema es muy importante pues el programa puede fallar, debemos tener revisiones periódicas del software, los fallos pueden producirse a través del sistema operativo que aloja a la aplicación o a causa de la aplicación propiamente dicha. El sistema debe ser flexible en la medida de lo posible y además debe ser 100% compatible con el hardware específico de este tipo de cajeros, de no ser así los problemas serían de gran magnitud e incontrolables. Por lo que la aplicación es totalmente compatible e integrada. El tiempo de desarrollo de una aplicación de este tipo es de aproximadamente 3 meses teniendo en cuente que debe ser desarrollada desde sus inicios, y después de varias entrevistas, pruebas, etc. Los recursos disponibles son los proporcionados por el propio cajero, es decir, un lector de tarjetas, otro de códigos de barras, un monitor, un panel de control, una base de datos un transportador de cintas, etc. Los estándares de desarrollo para una aplicación de este tipo pueden ser varios. El más común podría ser Java. OPERACIÓN Los usuarios, de este sistema no necesitan conocimientos específicos, una breve explicación del entorno bastará para su fácil uso. Los componentes están ubicados en una misma zona estando el sistema completo muy compactado. El mantenimiento debe proporcionarse a través de un experto en la aplicación y solo se requerirán sus servicios en caso de fallos o por la la rutina revisión de servicios de la empresa creadora CONCLUSIÓN En todas estas páginas viene expuesta la idea para empezar a realizar la automatización de un videoclub, primero exponiendo el problema a groso modo y después profundizando en la parte del cajero automático y nombrando la posibilidad del acceso a películas a través de la red.