Preparando y diseñando un proyecto informático para los Reyes Magos de Oriente
P.D.: Véase Reyes Magos previamente si no está familiarizado con ellos [Reyes Magos de Oriente].
A veces hay que salirse un poco de lo normal y ser un poco friki en sus entradas… sin llegar al rigor extremo de lo que se publica pero con algo de cariño sobre todo por que se acercan las Navidades.
Aunque nos parezca que está lejos, apenas queda 1 mes para Navidad y ese mes pasa volando, y claro, un informático de pro, no puede dejar de pensar en un jefe de proyectos y un equipo de desarrollo navideño. la toma de requerimientos, el diseño técnico, es decir… lo que montaríamos tecnológicamente hablando, para facilitarles la vida a los Reyes Magos y llevar a buen puerto su proyecto navideño cargado de ilusiones y buenos deseos.
¿Cómo empezaría esta historia?. ¿Qué tecnologías entrarían en juego?. ¿Seremos capaces de llevarlo a cabo?
Déjenme que les diga que lo primero de todo es conocer a nuestros 3 Reyes Magos,… sí sí, Melchor, Gaspar y Baltasar, y entrar en una relación de confianza con ellos y saber bien cuales son sus propósitos.
También debemos recordar que deberán implicarse en el desarrollo del proyecto o casi seguro que resultará ser un fracaso.
Nosotros pondremos en juego toda nuestra experiencia y conocimientos, y con eso y algunos truquitos ocultos que siempre son buenos reservárselos para las ocasiones en las que estaríamos dispuestos a llamar al mismísimo McGiver o a los increíbles Equipo A, lograremos cumplir los objetivos en fechas.
Objetivos:
Parece ser que nuestros 3 Reyes Magos, conocedores de todas las tecnologías habidas y por haber, quieren valerse de la tecnología actual de Microsoft para repartir los regalos navideños de un modo eficiente, seguro y adecuado (¿se imaginan regalarle una triste peonza a Jaimito como hizo erróneamente Santa Claus?).
Han elegido Microsoft porque según ellos, es cool (yo sobre eso no tengo nada más que añadir, lo dice el cliente y además tiene razón).
Según sus pronósticos, los 3 Reyes Magos consideran que con las nuevas tecnologías podrán ser más eficientes para repartir los regalos, pudiendo estar en su pais antes de lo que lo han estado en estos últimos 2000 años.
Y yo creo que lo pueden y podemos hacer posible.
¿Cómo llevar a cabo estas tareas?.
Comenzaremos a tomar los requerimientos oportunos del proceso.
Para ello, nos hemos juntado con los Reyes Magos y con un equipo de tres pajes seleccionados por los propios Reyes Magos.
El equipo de trabajo está formado por lo tanto por 6 personas que nos ayudarán a tomar los requerimientos del proyecto.
Requerimientos:
* Correos electrónicos.
* Cartas y postales.
* Sms.
* Sobres que los niños van dejando en los centros comerciales y cabalgatas fundamentalmente.
Para ello, cada niño deberá haber escrito la carta en letra legible (no es válida la «letra de médico» ya que el sistema no podría reconocerla).
Si no se reconoce la carta, se eliminará.
También se entenderá que el niño habrá escrito bien sus datos personales (nombre, apellidos, dirección y edad).
En caso contrario, la carta se eliminará igualmente.
El censo adecuado nos facilitará la identificación de la vivienda, dirección, etc del niño.
En el caso de no disponer de esta dirección, se solicita una dirección alternativa como la dirección de los abuelos, los primos, los tíos o algún amigo o familiar que conozca a los niños en cuestión.
Estos datos se incluirán junto al registro de cada niño (referencia: base de datos relacional anterior).
Adicionalmente, se identificarán también las coordenadas de GPS de cada vivienda que irá incluida en la ficha del niño.
Para facilitar la labor, se le presentará en el dispositivo las coordenadas exactas de la casa en la que debe dejarlos y un listado de los regalos.
Adicionalmente le mostrará si es posible, un mapa de la casa y una fotografía del edificio en el que debe realizar la entrega.
Diseño Técnico:
Una vez atendidos los requerimientos, vamos a ponernos manos a la obra.
Sin entrar en demasiados detalles, debemos resumir nuestras tareas de la siguiente forma:
Habrá una base de datos por año.
Cada información recibida se irá almacenando en su base de datos.
Así, una petición recibida el 10 de Enero de 2011, irá a la base de datos del 2011 y no a la del 2010.
El modelo de datos contendrá una tabla con el listado o censo de cada niño en el mundo.
Esa tabla contendrá los siguientes datos generales:
* Id
* Nombre
* Apellidos
* Dirección
* Número
* Portal
* Puerta
* Ciudad
* Provincia
* Pais
* Código Postal
* Posición GPS de la vivienda
* Pin Alarma
* Tiene mascota
Habrá otra tabla relacionada con la anterior y que contendrá la lista de regalos asociados a cada niño:
* Id
* Regalos
* Flag (entregado, no entregado, imposible entregar)
* Causa (si procede)
Se creará una aplicaión Windows con WPF en Visual Studio 2010 que se encargará de lanzar el proceso de escaneado y de realizar a cabo toda la gestión del proceso.
La inserción de datos a la base de datos se realizará a través de los servicios del servidor de aplicaciones.
Para no entorpecer la acción de escaneado y reconocimiento OCR, se creará un servicio Windows en Visual Studio 2010 que se encargará de leer los correos electrónicos y realizar la misma acción de reconocimiento y escritura de datos en el modelo de datos.
Se abordará un proyecto con WF y Visual Studio 2010 que permita establecer un flujo de trabajo con notificaciones, aprobaciones, etc., del proceso de reconocimiento.
Todos los servicios del servidor de aplicaciones será desarrollado con orientación a la nube. En este caso se abordará todo el desarrollo pensando en Windows Azure asumiendo las ventajas que nos aporta y la alta disponibilidad a la que tiene que estar el sistema.
Uno de los servicios desarrollados en WCF y Visual Studio 2010 se encargará de realizar las acciones de registro de los datos escaneados y reconocidos por OCR de los niños con la base de datos.
Este servicio recibirá tanto los datos de correos electrónicos como escaneados y reconocidos por el OCR de HP.
La aplicación de Windows Phone 7 deberá conectarse con un servicio desarrollado con WCF y que le mostrará la siguiente información general:
* Un mapa con Bing Maps de la zona en la que se encuentra y con puntos rojos que indican las viviendas en las que aún no ha realizado las entregas o en las que faltan por realizar entregas.
* Seleccionará un punto rojo y aparecerá las coordenadas de la vivienda, una fotografía de la vivienda y un pequeño listado de las viviendas a visitar.
* Al hacer clic sobre una vivienda, aparecerá un mapa de la misma y un listado de los regalos a entregar.
* A cada paje, se le enviará una notificación de si la vivienda tiene alarma y el pin de seguridad de la misma, y si hay alguna mascota, con el fin de que colabore con el Rey Mago en la entrega de regalos sin ningún imprevisto.
* Cuando el paje active nuevamente la alarma, deberá enviar un aviso de que la entrega se ha llevado a cabo. Es posible que la entrega no se pueda llevar a cabo, por lo que el paje deberá indicar no sólo que la entrega no se pudo llevar a cabo, sino incluso el motivo, para que el comité de seguimiento pueda estudiar el caso con el fin deque no se repita en el futuro.
Estos servicios utilizarán en todo momento un acceso y canal seguro para establecer la comunicación.
Estos servicios registrarán además cada una de las acciones realizadas tal y como veremos más adelante.
Un icono de color verde indicará que todo está tranquilo.
Un icono de color naranja, que alguien quiere hablar o enviar un mensaje al Rey Mago o al paje.
Un icono de color rojo, indica alarma y precaución.
Cada Rey Mago y paje tendrán un usuario que les identifique entre ellos (a establecer por el cliente).
Para la comunicación, se utilizará Windows Live Messenger para Windows Phone 7.
Un servicio de Windows se encargará de recoger la información del log y de alimentar unas tablas que van alojadas a la información anual de la base de datos.
Ese log será estudiado posteriormente para aplicar mejoras de calidad en los procesos y estudiar posibles problemas y aquellas tareas que se han hecho según lo previsto.
Para llevar a cabo esta tarea, existirá una aplicación desarrollada en Silverlight 4 que estará disponible en el servidor de aplicaciones.
Esta aplicación se alimentará de datos extraídos en una minería de datos de la base de datos de SQL Server 2008 R2 y con informes elaborados con Reporting Services, mostrará la información de acuerdos a los filtros establecidos en la aplicación.
Otros detalles:
Tecnologías utilizadas:
Atentamente… el equipo de desarrollo de los Reyes Magos Inc.
6 Responsesso far
Jajajaja que buena entrada!!!
Pintado así el proyecto me animo!!! 😀
y cuando Windows Phone se ponga azul o se quede sin batería o el GPS con el error de 1 a 10 metros provoque que los camellos se tiren por el acantilado, entonces que…., deja a los pobrecitos que sigan con la estrella (principio kiss), que a este paso nos quedamos todos sin regalos…
Creo que has pedido demasiados regalos y solo te van a traer Visual Basic 6 SP 35 🙂
Muy buenos, si señor!!!! para escribir un libro.
Como te comenté, yo incluiría una gestión de riesgos, veo muchos en el proyecto. No me gustaría que tengamos un problema con el OCR y los niños se queden sin regalos. 🙂
Que bueno!!!!!, me pongo ahora mismo a escribir mi carta a los reyes, jajajaja.
Estas loco, pero buena entrada.
Saludos,
Viendo el último post de Lluis Franco en Geeks me vienen a la mente algunas de las “Inocentadas