miércoles, 5 de febrero de 2014

Modelo de kardex

 Modelo de  kardex de un estudiante

Introducción
La siguiente experiencia tiene la finalidad  de validar los aspectos técnicos y teóricos referentes al diseño, creación y llenado de una base de datos, incluyendo las consultas de uso frecuente a la misma. Mediante la resolución de un ejercicio práctico que consistirá en modelar la estructura de datos del kardex universitario.
El primer paso consiste realizar el diseño conceptual de la misma utilizando un diagrama de entidad relación que estará en tercera forma normal, el cual nos muestra que datos debe contener cada tabla y las relaciones en entre ellas. Progresivamente comenzaremos con la creación de la base de datos, usando postgresql como gestor de base datos, a través  de sus 
DDL, lenguaje de definición de datos, con el cual se puede manipular estructura de la base de datos, es decir, son las ordenes para modificar, borrar o definir las tablas de la base datos. Y los DML, lenguaje de manipulación de datos, que permite hacer las consultas y llenado de la base de datos.
A continuación se procederá a resolver el ejercicio.
Objetivo General:
·         Validar los conocimientos en bases de datos.
Objetivos Específicos:
·         Validar conocimientos de diseño de bases de datos en tercera forma normal.
·         Validar los conocimientos de DDL y DML.
Metas:
·         Concluir con la asignación.
·         Cumplir con los tiempos de entrega.
·         Cumplir con las 10 horas semanales de dedicación a la materia.
Definiciones:
·         Base de datos: es un repositorio de información
·         Modelo de datos: es una colección de herramientas conceptuales para describir los datos, sus relaciones, semántica y restricciones de consistencia.
·         Diagrama Entidad Relación (E-R): está basado en una percepción del mundo real que consiste en un conjunto de objetos básicos, denominados entidades, y de las relaciones entre esos objetos.
·         Entidad: es una “cosa” u “objeto” del mundo real distinguible de los otros objetos. Se describen en la base de datos mediante un conjunto de atributos.
·         Lenguaje de Manipulación de Datos (LMD): es un lenguaje que permite a los usuarios tener acceso a datos organizados mediante el modelo de datos correspondiente o manipularlos.
·         Consulta: es una instrucción que solicita que se recupere una información.
·         Lenguaje de Definición de Datos (LDD): es un lenguaje que permite especificar el esquema de la base de datos, así como, para especificar las propiedades de los datos.
·         SGBD: consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos. Proporciona una manera eficiente de almacenar y recuperar datos.
·         Kardex: documento que refleja el historial academico de un estudiante.
Desarrollo de Problema:
La primera fase es la de análisis del problema, se responde a las siguientes preguntas:
·         ¿Qué es lo que se quiere hacer?

Modelar la estructura la estructura del Kardex y plasmarlo en una base de datos.

·         ¿Cómo se hará?

Primero se divide en problema en partes más pequeñas, aplicando la metodología divide y venceras. Ya que para modelar la estructura se necesita hacer un diagrama E-R que refleje a relación entre los objetos de la BD. Para hacer el E-R se necesitan tener los objetos implicados, sus atributos y las relaciones entre ellos.

Para plasmar esa información en una base de datos, se necesita un SMDB. En este caso se utilizó postgresql y como herramienta grafica pgAdmin3
Después viene un la fase de implementación:

Se comienza con el diagrama E-R, aca se determinan cuantas tablas se usaran, que cual es la información que realmente se desea almacenar de cada objeto, y las relaciones entre ellos. En este caso de estudio se utilizaran 15 tablas. Cada una de ellas estará en 3FN para garantizar atomicidad, integridad, y la no redundancia de información.



                                                           Modelo relacional de BD

martes, 4 de febrero de 2014

Fase análisis de requerimientos


Fase análisis de requerimientos


Un requerimiento es una condición que debe poseer un sistema para satisfacer un contrato, una especificación u otra documentación formalmente impuesta, así mismo los requerimientos son declaraciones que identifican atributos, capacidades, características y cualidades que necesita cumplir el sistema para que tenga valor y utilidad para el usuario. 
Por otra parte tenemos que la definición de los requerimientos es en gran medida un proceso de  entrevistar al personal de negocio y técnico, sin embargo es conveniente tener un poco de preparación previa. Se debe aprender lo máximo sobre el negocio, los competidores la industria y los clientes del mismo. Se deben conocer los términos y la terminología del negocio.
En relación con la definición de requerimientos, es importante conseguir que los requerimientos sean claramente definidos para minimizar la ambigüedad por otra parte deben ser conciso es decir,  redactarse en un lenguaje comprensible por los clientes en lugar de uno de tipo técnico y especializado, aunque aún así debe referenciar los aspectos importantes además deben ser consistente, ningún requerimiento debe entrar en conflicto con otro requerimiento diferente, ni con parte de otro, es decir el requerimiento no debe contradecir ningún otro requerimiento, por otro lado un requerimiento debe ser un objetivo realista, posible de ser alcanzado con el dinero, el tiempo y los recursos disponibles, por ultimo  se debe poder verificar con absoluta certeza, si el requerimiento satisface las necesidades del cliente o no, esta verificación puede lograrse mediante inspección, análisis, demostración o prueba. Para lograr lo antes expuesto es recomendable:
        ·         Definir los requerimientos teniendo en cuenta la información identificada con la perspectiva del usuario
           ·         Reutilizar requerimientos, revisando proyectos ya finalizados para ver si contienen material potencialmente reutilizable. La ventaja de esta reusabilidad es que, una vez que un requisito ha sido especificado satisfactoriamente para un producto y que el producto ha tenido éxito, el requerimiento no tendrá que volverse a inventar, podrá ser utilizado las veces que se desee teniendo en cuenta los derechos de autor.
           ·         Documentar los requerimientos de una forma clara y correcta. En la mayoría de los proyectos se observa que la documentación de los requerimientos puede parecer una tarea tediosa, pero es la única manera de asegurar que la esencia de los requisitos ha sido capturada correctamente, y que esto pueda ser probado.
Con respecto a los tipos de requerimientos se tienen requerimientos funcionales y no funcionales. Los requerimientos funcionales se utilizan para determinar que hará el Software, definiendo las relaciones de su operación y su implementación, sin olvidar que deben ser explícitos también en lo que el sistema no debe hacer y que validaciones se deben realizar, teniendo en cuenta cual será el comportamiento del sistema por otra parte se pueden dividir en dos puntos de vista: El primero tiene relación con el usuario, donde se identifica la relación del usuario con el sistema desde el punto de vista del mismo; El segundo tiene relación con el sistema dando respuesta al usuario, es decir desde el punto de vista de lo que realiza el sistema. Mientras los requerimientos no funcionales se basan en las restricciones de los servicios o funciones ofrecidos por el sistema. Incluyen restricciones de tiempo, sobre el proceso de desarrollo, estándares, usabilidad, portabilidad, entre otros. Estos surgen de la necesidad del usuario, debido a las restricciones en el presupuesto, a las herramientas utilizadas, a las políticas de la organización, a la necesidad de interoperabilidad con otros sistemas de software o hardware o a factores externos como los reglamentos de seguridad, las políticas de privacidad, etc.
Es importante destacar que los dos tipos de requerimientos especificados son de gran importancia para el desarrollo de una aplicación en software, por lo tanto siempre deben ser escritos con claridad, contener la mayor especificación de las necesidades expuestas por el cliente, esto con el fin de tener un soporte base desde el cual se trabajaran y no presentar ambigüedades en la definición y el resultado del producto. La figura a continuación muestra los inconvenientes que se pueden presentar cunado no se hace una identificación correcta de los requerimientos. 


Fase de Planificación-Metodología scrum

La planificación cumple dos propósitos principales en las organizaciones: el protector y el afirmativo. El propósito protector consiste en minimizar el riesgo reduciendo la incertidumbre que rodea al mundo de los negocios y definiendo las consecuencias de una acción administrativa determinada. El propósito afirmativo de la planificación consiste en elevar el nivel de éxito organizacional.
Un propósito adicional de la planificación consiste en coordinar los esfuerzos y los recursos dentro de las organizaciones. Se ha dicho que la planificación es como una locomotora que arrastra el tren de las actividades de la organización, la dirección y el control.
Por otro lado, se puede considerar a la planificación como el tronco fundamental de un arbol imponente, del que crecen las ramas de la organización, la dirección y el control. Sin embargo, el propósito fundamental es facilitar el logro de los objetivos de la empresa. Implica tomar en cuenta la naturaleza del ámbito futuro en el cual deberán ejecutarse las acciones planificadas.
La planificación es un proceso continuo que refleja los cambios del ambiente en torno a cada organización y busca adaptarse a ellos.
Uno de los resultados más significativos del proceso de planificación es una estrategia para la organización.


Pasos del proceso de planificación.

        El proceso de planeación incluye cinco pasos principales (Cortés, 1998): 1) definición de los objetivos organizacionales; 2) determinar donde se está en relación a los objetivos; 3) desarrollar premisas considerando situaciones futuras; 4) identificar y escoger entre cursos alternativos de acción; 5) puesta en marcha de los planes y evaluar los resultados.


Planificación y niveles gerenciales

Los administradores de nivel superior generalmente invierten más tiempo en la planificación que los administradores de nivel bajo. Los administradores de nivel inferior se encuentran altamente implicados en las operaciones diarias de la organización y, por lo tanto, tienen menos tiempo para contribuir a la planificación que la alta dirección. Los administradores de nivel medio usualmente invierten más tiempo en la planeación que los administradores de nivel inferior, pero menos que los administradores de nivel superior.
        El tipo de planificación realizada por los administradores también cambia a medida que éstos ascienden en la organización. Típicamente, los administradores de nivel inferior planean a corto plazo; los administradores de nivel medio planean a un plazo un tanto más prolongado; y los administradores de nivel superior planean a un plazo más prolongado.
La experiencia de los administradores de nivel inferior con las operaciones cotidianas los convierte en los mejores para planear en cuanto a lo que debe hacerse en el corto plazo para alcanzar los objetivos organizacionales. Los administradores de nivel superior usualmente tienen una mejor visión de la situación organizacional como un todo y por lo tanto se encuentran mejor dotados para planificar a largo plazo.


Metodologia Scrum

Scrum es un proceso en el que se aplican de manera regular un conjunto de mejores prácticas para trabajar colaborativa mente, en equipo, y obtener el mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su selección tiene origen en un  estudio de la manera de trabajar de equipos altamente productivos.
En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales.
Scrum también se utiliza para resolver situaciones en que no se está entregando al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes se disparan o la calidad no es aceptable, cuando se necesita capacidad de reacción ante la competencia, cuando la moral de los equipos es baja y la rotación alta, cuando es necesario identificar y solucionar ineficiencias sistemáticamente o cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de producto.

     Beneficios
Los principales beneficios que proporciona Scrum son:

Entrega mensual (o quincenal) de resultados (los requisitos más prioritarios en ese momento, ya completados) lo cual proporciona las siguientes ventajas:
  • ·          Gestión regular de las expectativas del cliente y basada en resultados tangibles.
  • ·          Resultados anticipados (time to market).
  • ·          Flexibilidad y adaptación respecto a las necesidades del cliente, cambios en el mercado, etc.
  • ·          Gestión sistemática del Retorno de Inversión (ROI).
  • ·          Mitigación sistemática de los riesgos del proyecto.
  • ·         Productividad y calidad.
  • ·         Alineamiento entre el cliente y el equipo de desarrollo.
  • ·          Equipo motivado.
  •  

       Cómo funciona
En Scrum un proyecto se ejecuta en bloques temporales cortos y fijos (iteraciones de un mes natural y hasta de dos semanas, si así se necesita). Cada iteración tiene que proporcionar un resultado completo, un incremento de producto final que sea susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo solicite.


El proceso parte de la lista de objetivos/requisitos priorizada del producto, que actúa como plan del proyecto. En esta lista el clienteprioriza los objetivos balanceando el valor que le aportan respecto a su coste y quedan repartidos en iteraciones y entregas. De manera regular el cliente puede maximizar la utilidad de lo que se desarrolla y el retorno de inversión mediante la replanificación de objetivosque realiza al inicio de cada iteración.

Planificación de la iteración

El primer día de la iteración se realiza la reunión de planificación de la iteración. Tiene dos partes:
1. Selección de requisitos (4 horas máximo). El cliente presenta al equipo la lista de requisitos priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen y selecciona los requisitos más prioritarios que se compromete a completar en la iteración, de manera que puedan ser entregados si el cliente lo solicita.
2. Planificación de la iteración (4 horas máximo). El equipo elabora la lista de tareas de la iteración necesarias para desarrollar los requisitos a que se ha comprometido. La estimación de esfuerzo se hace de manera conjunta y los miembros del equipo se autoasignan las tareas.






Desarrollo BI de Kimball

Desarrollo BI de Kimball

Se considera que la metodología más acorde a los negocios es la de Kimball, cuya que esta proporciona un enfoque de menor a mayor, muy versátil, y una serie de herramientas prácticas que ayudan a la implementación de un DW. Es acorde a diversas empresas porque se pueden implementar pequeños datamarts en áreas especificas de las misma (compras, ventas, etc.), con pocos recursos y de poco irlos integrándolos en un gran almacén de datos.
La metodología se basa en lo que Kimball denomina Ciclo de Vida Dimensional del Negocio (Business Dimensional Lifecycle) (Kimball et al 98, 08, Mundy & Thornthwaite 06). Este ciclo de vida del proyecto de DW, está basado en cuatro principios básicos:
·         Centrarse en el negocio: Hay que concentrarse en la identificación de los requerimientos del negocio y su valor asociado, y usar estos esfuerzos para desarrollar relaciones sólidas con el negocio, agudizando el análisis del mismo y la competencia consultiva de los implementadores. 

·         Construir una infraestructura de información adecuada: Diseñar una base de información única, integrada, fácil de usar, de alto rendimiento donde se reflejará la amplia gama de requerimientos de negocio identificados en la empresa.

 
·         Realizar entregas en incrementos significativos: crear el almacén de datos (DW) en incrementos entregables en plazos de 6 a 12 meses. Hay que usa el valor de negocio de cada elemento identificado para determinar el orden de aplicación de los incrementos. En esto la metodología se parece a las metodologías ágiles de construcción de software. 


·         Ofrecer la solución completa: proporcionar todos los elementos necesarios para entregar valor a los usuarios de negocios. Para comenzar, esto significa tener un almacén de datos sólido, bien diseñado, con calidad probada, y accesible. También se deberá entregar herramientas de consulta ad hoc, aplicaciones para informes y análisis avanzado, capacitación, soporte, sitio web y documentación.
·
Tareas de la metodología de Kimball, denominada Business Dimensional Lifecycle (Kimball et al 98, 08, Mundy & Thornthwaite 06)


 En la figura podemos observar que los requerimientos del negocio son el soporte inicial de las tareas subsiguientes. También tiene influencia en el plan de proyecto (nótese la doble flecha entre la caja de definición de requerimientos y la de planificación), por otra parte podemos ver 3 rutas que se enfocan en diferentes áreas:
·         Tecnología: dseño de arquitectura técnica y selección e instalación de producto estas Implican tareas relacionadas con software específico, por ejemplo, Microsoft SQL Analysis Services

·         Datos: modelamiento dimensionas, diseño físico, Diseño e Implementación
del Subsistema de ETL en la misma diseñaremos e implementaremos el modelo dimensional, y desarrollaremos el subsistema de Extracción, Transformación y Carga (Extract, Transformation, and Load - ETL) para cargar el DW.

·         Aplicaciones de Inteligencia de Negocios: Especificación de aplicaciones de BI y Desarrollo de aplicaciones de BI en esta ruta se encuentran tareas en las que diseñamos y desarrollamos las aplicaciones de negocios para los usuarios finales.
En la parte de debajo de la figura se muestra la actividad general de administración del proyecto. A continuación describiremos cada una de las tarea:

Planificación
En este proceso se determina el propósito del proyecto de DW/BI, sus objetivos específicos y el alcance del mismo, los principales riesgos y una aproximación inicial a las necesidades de información. En la visión de programas y proyectos de Kimball, Proyecto, se refiere a una iteración simple del KLC (Kimball Life Cycle), desde el lanzamiento hasta el despliegue.
Análisis de requerimientos: 
La definición de los requerimientos es en gran medida un proceso de entrevistar al personal de negocio y técnico, pero siempre conviene tener un poco de preparación previa. Se debe aprender tanto como se pueda sobre el negocio, los competidores, la industria y los clientes del mismo. Hay que leer todos los informes posibles de la organización; rastrear los documentos de estrategia interna; entrevistar a los empleados, analizar lo que se dice en la prensa acerca de la organización, la competencia y la industria. Se deben conocer los términos y la terminología del negocio.
Parte del proceso de preparación es averiguar a quién se debe realmente entrevistar. Esto normalmente implica examinar cuidadosamente el organigrama de la organización

Modelado Dimensional
 La creación de un modelo dimensional es un proceso dinámico y altamente iterativo.
El proceso de diseño comienza con un modelo dimensional de alto nivel obtenido a partir de los procesos priorizados de la matriz descrita en el punto anterior. El proceso iterativo consiste en cuatro pasos: 
1. Elegir el proceso de negocio.
2. Establecer el nivel de granularidad.
3. Elegir las dimensiones.
4. Identificar medidas y las tablas de hechos.

Implementar el modelo dimensional detallado
Este proceso consiste simplemente en completar la información incompleta de los pasos anteriores. El objetivo en general es identificar todos los atributos útiles y sus ubicaciones, definiciones y reglas de negocios asociadas que especifican cómo se cargan estos datos. Para este cometido se usa la misma planilla del punto anterior

Prueba del modelo
Si el modelo ya esta estable, lo que se hace habitualmente es probarlo contra los requerimientos del negocio. Haciendo la pregunta práctica de ¿Cómo podemos obtener esta información en particular del modelo? Para las pruebas podemos usar diseños de reportes estructurados, de usuarios actuales, diseños de cubos prospectivos, etc

 Diseño Físico
En esta parte, intentamos contestar las siguientes preguntas:
 ¿Cómo puede determinar cuán grande será el sistema de DW/BI?
 ¿Cuáles son los factores de uso que llevarán a una configuración
más grande y más compleja?
¿Cómo se debe configurar el sistema?

Diseño del sistema de Extracción, Transformación y Carga (ETL).
El sistema de Extracción, Transformación y Carga (ETL) es la base sobre la cual se alimenta el Datawarehouse. Si el sistema ETL se diseña adecuadamente, puede extraer los datos de los sistemas de origen de datos, aplicar diferentes reglas para aumentar la calidad y consistencia de los mismos, consolidar la información proveniente de distintos sistemas, y finalmente cargar (grabar) la información en el DW en un formato acorde para la utilización por parte de las herramientas de análisis.

Especificación y desarrollo de aplicaciones de BI
Las aplicaciones de BI son la cara visible de la inteligencia de negocios: los informes y aplicaciones de análisis proporcionan información útil a los usuarios. Las aplicaciones de BI incluyen un amplio espectro de tipos de informes y herramientas de análisis, que van desde informes simples de formato fijo a sofisticadas aplicaciones analíticas que usan complejos algoritmos e información del dominio. Kimball divide a estas aplicaciones en dos categorías basadas en el nivel de sofisticación, y les llama informes estándar y aplicaciones analíticas.

Funtion Gartmer-Business Intelligence

Gartner Inc. es una empresa consultora y de investigación de las tecnologías de la información con sede en Stamford, Connecticut, Estados Unidos. Hasta 2001 era conocida como Gartner Group.
Gartner incluye entre sus clientes a algunas de las más grandes empresas, agencias de gobierno, empresas tecnológicas y agencias de inversión como BT, CV, The Wall Street Journal, etc. La empresa se concentra en la investigación, programas ejecutivos, consultas y eventos. Fue fundada en 1979; y en 2010 contaba con 4800 empleados, incluyendo a 1250 analistas y clientes en 85 países por todo el mundo

Investigación tecnológica
Las áreas de tecnología que la empresa incluye dentro del alcance de sus investigaciones las organiza de tres modos: de investigación de mercado, de investigación por asuntos y de investigación por sectores. Después de aplicar el modelo de negocio de uno de sus editores,write once, sell many times («escribe una vez, vende muchas»), la investigación funciona sobre altos márgenes de beneficio brutos y es la unidad más provechosa de negocio de Gartner.

Análisis

Gartner proporciona el análisis de investigación y el consejo para profesionales de las TIC (tecnologías de la información y la comunicación), empresas de tecnología y la comunidad de la inversión en varios formatos: reuniones informativas, servicios de pares en red (peer networking service) y programas de socios diseñados explícitamente para CEOs y otros directores ejecutivos.
Gartner utiliza para presentar sus análisis los conocidos como Cuadrantes Mágicos y los ciclos de sobreexpectación (hype cycle).

Consultoría

 

Alineadas a la investigación, núcleo de Gartner, están las capacidades consultoras. Esto permite un gran nivel de apoyo a los clientes Gartner en el uso de la investigación de la empresa, que no lo sería de otra forma. El brazo consultor es capaz de ofrecer el consejo relacionado con la industria/sector y el apoyo al Gobierno, la venta al por menor, los medios de comunicación y de telecomunicaciones, y los servicios financieros. La división consultora emplea menos de 500 personas a escala mundial con la mayor parte de estos funcionando dentro del mercado de los Estados Unidos.




Este informe ofrece un retrato de cómo se comportan los diversos proveedores en un determinado segmento de mercado, a fin de ayudar a los usuarios finales a tomar unas decisiones acertadas y mejor informadas acerca de las diferentes empresas con las que piensan asociarse, o cuyos servicios o productos desean adquirir.
Según el informe, "Gartner observa que cada vez más organizaciones crean analíticas de diagnóstico que aportan capacidades críticas, como una visualización interactiva, permitiendo a los usuarios profundizar en los datos con mayor facilidad y descubrir nuevos conocimientos."
Como pionero de un business intelligence dirigido por el usuario, QlikView goza de gran reconocimiento. Y nos llena de orgullo estar en el cuadrante de Líderes de Gartner por tercer año consecutivo.
                                                                 
Informacion extraida de wikipedia y http://www.qlikview.com