lunes, 16 de noviembre de 2015

Desarrollo dirigido por pruebas

METODOLOGIA TDD


La metodología TDD realiza una serie de pruebas antes de empezar a digitar código. El primer paso es crear un test diseñado para verificar que el requerimiento sea cumplido, y que el test no este condicionado por el código previamente creado, causando que nos olvidemos de incluir algún caso o funcionalidad para su cumplimiento, si el test falla se verifica nuevamente el código hasta que apruebe el test, se limpia o refactoriza y nuevamente se prueba, estas pruebas deben ser de fácil implementación para que sea ágil.

Las pruebas deben ser simples, el código debe ser corto y por lo general siempre en primera instancia debe fallar. Las pruebas deben presentar redundancias para el aumento de la seguridad y control.

En la aplicación de la calculadora, la metodología TDD se resume en 3 pasos básicos dados en la anterior imagen y se explican de la siguiente manera con cualquier operación:
  1. Se crea el test que comprobara la operación matemática.

Test para comprobar la suma

public void testsumar ()
        {
            JOptionPane.showMessageDialog(null, "Probando el metodo sumar");
            doble result = calculadora.sumar (2, 2);
            assertEquals (4, result, 0.0);
            JOptionPane.showMessageDialog(null, "check");
        }

Test para comprobar la resta

public void testrestar ()
        {
            JOptionPane.showMessageDialog(null, "Probando el metodo restar");
            doble result = calculadora.restar (4, 3);
            assertEquals (1, result, 0.0);
            JOptionPane.showMessageDialog(null, "check");

2. Programar el código que cumpla con el requerimiento de las operaciones matemáticas.




3. Si el código pasa se refactoriza, si no, se revisa nuevamente.

La aplicación JAVA se realizó en Netbeans, en este aplicativo se realizaron diferentes test realizados en y los Test se realizaron con JUnit 4.

Elaborado por:
NARDY PAOLA JAIME RINCÓN
CÓDIGO: 066102014
DEYSAN LAVARCÉ
CÓDIGO: 066091058 

METODOLOGÍA RUP: ENSAYO

"RUP ES UNA METODOLOGÍA INCOMPRENDIDA, NO SE ENTIENDE, NO SE USA"


En la actualidad el desarrollo web es planteado de manera en el cual no es posible usar una metodología web o RUP volviéndola incomprendida y poco usada, esto se interpone en el desarrollo eficiente y más practico continuando con una forma de desarrollo demasiado rudimentaria. Tradicionalmente encontramos que la persona que ofrece los servicios de desarrollo web, se reúne con un usuario que presenta una serie de requerimientos y hablan de lo que necesita el mismo, hasta llegar a un acuerdo entre los dos. Posteriormente se realizan y envían las pruebas gráficas de cómo se solicitó que quedara la página web,  esto realizado sin poner al tanto a los diseñadores o programadores quienes no han interactuado con el usuario solicitante. Después que el usuario está satisfecho y autoriza el diseño de la página web, se asignan determinados tiempos para el desarrollo de la misma en los cuales tanto diseñadores como programadores se someten.

Al no realizar ningún tipo de documentación o algún diagrama, los diseñadores tienen que dejar un poco a su imaginación las maquetas de desarrollo,  dando la información a los programadores basadas en las explicaciones de los requerimientos de la persona que se reunió con el usuario inicialmente. No existen requerimientos establecidos por tanto se puede generar un teléfono roto donde la comunicación va a ser muy alternativa y el usuario tiende a estar insatisfecho y pueda realizar cambios constantemente.  

Es muy poco frecuente que un programador utilice la metodología RUP, pues esta presenta siempre cierto impacto en cuanto a su implementación debido a que puede afectar los tiempos de entrega establecidos en cada proyecto, por tanto se debe ir estableciendo de a poco evaluando a nivel individual el tiempo de desarrollo. La persona encargada de la realización de cada proyecto debe ser el líder de desarrollo y no una persona externa quien con dificultad estimara tiempos de entrega y puede que no de la metodología adecuada para la ejecución del mismo. Esta persona encargada debe tener conocimientos sobre desarrollo de software y leguajes de programación pues las consecuencias de desconocer esto implica la poca calidad del software entregado debido a que no se puede implementar ningún tipo de metodología.

Ahora bien para poder implementar la metodología RUP es importante conocer en que consiste la misma.

"METODOLOGÍA RUP"

La metodología RUP o Metodología de Proceso Unificado Racional se define como un proceso de ingeniería de software dirigido al desarrollo de software, en donde se crea un producto por medio de un proceso diseñado. La metodología de Proceso Unificado Racional, es un modelo de software el cual permite el desarrollo del mismo a gran escala, mediante un proceso de  recolección de pruebas y requerimientos y una continua retroalimentación, con lo cual se da una garantía de cumplimiento de los estándares de calidad.  Se enfrenta al inconveniente de generar mayor complejidad en cuanto a la administración del mismo, aunque los beneficios que obtendrá recompensan este esfuerzo.

Esta metodología presenta un proceso de desarrollo con un marco metodológico el cual incluye las estrategias, objetivos, actividades y artefactos, es decir toda la documentación requerida durante el desarrollo. Esto se asocia con todos los recursos humanos hábiles, competentes y capaces para asumir responsabilidades definidas y roles específicos. RUP muestra dos dimensiones: una es donde se representa el tiempo de desarrollo del proyecto y donde encontramos los ciclos de vida de cada aspecto del proceso. Y la otra dirige hacia las disciplinas de los procesos, es decir la lógica de las actividades de la ingeniería de software. Estas dimensiones son las dos caras del Proceso Racional Unificado (RUP)  que usándolas en conjunto logran una metodología de gran ayuda para el desarrollo de proyectos dentro de una organización. Muchas de las ventajas de la utilización de la metodología RUP empleada para el desarrollo de software son:
  •  La obtención de un desarrollo reiterativo de software.
  • Manejo directo de requerimientos y componentes para el diseño y arquitectura de software.
  • Realización de soporte y análisis de requerimientos de cambio al software.
  • Aumento en la calidad del software.
Estas ventajas son atrayentes en el momento de crear aplicaciones eficientes y que satisfagan las necesidades de los usuarios, también presentar por parte de los desarrolladores ideas repetitivas con la reutilización de estos software para poder generar ideas nuevas. Algunas de las entidades que en la actualidad manejan la metodología RUP con fin de ser más versátiles y adaptarse más fácilmente a nuevas ideas son las empresas de transporte, telecomunicaciones, manufactura, empresas generadoras de sistemas, entre otras.

Este proceso proporciona muchas disciplinas que dan una organización para la asignación de tareas y responsabilidades, en todas las entidades u organizaciones en especial a las dedicadas al desarrollo de software. Como objetivo principal tienen el desarrollo de software de alta calidad, con la garantía necesaria de satisfacción del usuario dentro de un límite de tiempo establecido y un presupuesto conveniente para las dos partes. Quienes implementan  RUP se transforman en un equipo de desarrollo dentro del cual se incluye al usuario y todos los socios, de esta manera se asegura que el proceso este continuamente actualizado y en constante mejora, dando a los desarrolladores mayores experiencias, practicas productivas. La mejora de la productividad del equipo genera una base de conocimientos con plantillas y mejores herramientas para el desarrollo de nuevas actividades.

El proceso unificado garantiza que todo un equipo pueda acceder a la misma base de conocimientos creando y manteniendo los modelos que se han establecido dentro de la organización y dejando que esta sea a la vez flexible a nuevas sugerencias de cambios en cuanto a sus requisitos, diseños, pruebas, gestión de proyectos, gestión de configuraciones, entre otros. RUP  no se centra en el almacenamiento de gran cantidad de documentos físicos (papel), si no en el desarrollo y mantenimiento de modelos y presentación del sistema de software que se está desarrollando. Es muy importante mencionar como el Proceso Racional Unificado sirve como orientación para la adecuada utilización del Lenguaje Unificado de Modelado o UML.

"RUP vs UML"

Más que un enfrentamiento el Proceso Racional Unificado es una guía para saber cómo se utiliza el Lenguaje Unificado de Modelado. El UML se define como un lenguaje estándar que nos dirige a definir los requisitos, arquitecturas y diseños. RUP  presenta una serie de herramientas que mecanizan el proceso de ingeniería, esto sirve en el momento de crear y mantener modelamientos en cuanto al desarrollo de software. El proceso de ingeniería es decir la programación, modelamiento, pruebas, entre otras, son de gran apoyo en la gestión de cambios que acompaña los cambios que pueda presentar la RUP. Es bueno aclarar que no solo el Proceso Racional Unificado es el adecuado para el desarrollo de software. Este proceso por lo general encaja en equipos de trabajo de desarrollo de software pequeño y también en grandes organizaciones de desarrollo.

"ARQUITECTURA DE PROCESO SIMPLE"

RUP se basa en una arquitectura de proceso simple, sin embargo tiene la capacidad de adaptarse a diferentes situaciones.  Este Proceso Unificado proporciona soporte para satisfacer las necesidades de la organización que lo aplique. Las mejores prácticas de la modernidad se basan en RUP, pues en el desarrollo de software manifiesta una amplia gama de proyectos y organizaciones.

"RUP A TRAVÉS DEL TIEMPO"

El Proceso Racional Unificado surge como sucesor del Proceso Racional Objetivo lanzado en 1996 en su última versión.  El RUP surge con material más completo en las áreas de ingeniería de datos, proyectos de administración y gestión, trayendo también mayor integración de gran cantidad de herramientas de software. RUP es el resultado de la combinación del Enfoque Racional”  y  el “Proceso Objetivo” en 1995. Desde su surgimiento, el RUP ha recibido de la estructura del Proceso Racional Objetivo diferentes conceptos de casos de uso, desde su fondo racional el proceso a adquirió la formulación de ser iterativo en cuanto a su desarrollo y arquitectura. RUP se considera la primera metodología en asociarse con UML o Lenguaje Unificado de Modelado quien en esos momentos estaba surgiendo. El Proceso Racional Objetivo surge en 1987 como resultado de la experiencia de Ivar Jacobson en su paso por Ericsson. Con este proceso Jacobson crea su propia empresa centrado en conceptos de casos de uso y una metodología de diseño orientada a objetos.

RUP fue ganando reconocimiento rápidamente dentro de las industrias desarrolladoras de software y fue yendo transportada e integrada en muchas empresas de todo el mundo.

"RUP Y SUS PERSPECTIVAS"

El Proceso Racional Unificado presenta tres perspectivas:
  • Perspectiva dinámica: Encontramos las fases RUP en el tiempo, las cuales son dinámicas es decir que poder ir cambiando permanentemente.
  • Perspectiva estática: Encontramos las fases RUP en el tiempo, las cuales son estáticas es decir las cosas que están establecidas previamente y que no cambian pero que influyen en el cambio dinámico del proceso. 
  •  Perspectiva práctica: Son las buenas prácticas que se realizan durante el proceso, que se dan a través de la experiencia.

"RUP Y SUS DIMESIONES"

Existe una asociación entre las perspectivas y las dimensiones que a lo largo de este documento se han ido mencionando, en donde podemos definirlas como dos ejes:
  • Un eje horizontal en cual representamos el tiempo y las perspectivas dinámicas del RUP. Esto se expresa en términos de ciclos, fases, iteraciones, entre otros.
  • Un eje vertical en cual se muestran las perspectivas estáticas del RUP. Esto se expresa en términos de actividades, artefactos, entre otros.


Todas las dimensiones son acompañadas de las fases de inicio del RUP las cuales son: inicio, elaboración, construcción y transición. Cada fase completa diferentes iteraciones para posteriormente poder tomar decisiones importantes dentro de la organización que está implementando la metodología RUP y poder producir informes técnicos que irán dando cumplimiento a los objetivos propuestos.

RUP es una metodología incomprendida, no se entiende, no se usa, aun cuando esta práctica metodología se considera una Ingeniería de Procesos de Software. La conciencia que han ido tomando poco a poco las organizaciones de lo importante que es documentar y estructurar un proceso de desarrollo de software ha generado un gran cambio de éxito en surgimiento de sus nuevos proyectos. 

Si realizamos una asociación con el desarrollo del CMM (Modelo de Capacidad y Madurez), que fue desarrollado por la SEI (Instituto de Ingeniería de Software), observamos cómo se ha convertido en una guía para muchas organizaciones cuando se esmeran en cumplir sus objetivos en niveles superiores. Se identifican organizaciones que han ido compartiendo sus conocimientos con los desarrolladores de software, lo que ha vuelto el colectivo conocimiento no relacionado con los métodos de diseño o los libros de texto publicados, lo que lo convierte en un conocimiento poco reutilizable, demasiado obsoleto y sin actualizaciones permanentes.  Existen otras organizaciones que no presentan un proceso en cuanto a desarrollo de software, lo cual presenta muchas limitaciones pues al no tener un punto de partida no se sabe por qué camino se va a realizar el desarrollo desmejorando en cantidades la calidad del producto del software.

La metodología RUP, puede ayudar a todo este tipo de organizaciones dando a su disposición una serie de procesos de ingeniería de software maduros, rigorosos y flexibles, por eso es muy importante para las empresas comprenderla, entenderla y así finalmente utilizarla. Cuando conocemos la metodología RUP estamos enterados de que:
  • RUP es una lista de procesos de organización.
  • RUP no es un libro escrito y estandarizado, es un método de desarrollo, que se modifica, actualiza y publica.  El software inicia desde la construcción de todo su proceso de desarrollo, es decir que la metodología RUP contribuye al diseño, desarrollo, entrega y mantenimiento como cualquier herramienta de software.
Este tipo de acciones de la metodología RUP, transfieren a unas características que traerán los productos de software que serán desarrollados:
  • Todos los productos de software desarrollados mediante la metodología RUP, están diseñados y documentados con el Lenguaje Unificado de Modelado o UML, quien se considera como una columna vertebral que mantiene muy coherente todo el proceso.
  • Cuando el software ya está terminado, se entrega en línea utilizando la tecnología Web, no se entrega ningún tipo de libro o carpeta, lo que permite estar más en contacto con los desarrolladores del mismo.
  • Se garantiza que las actualizaciones de software serán dadas regularmente dos veces al año, lo que no permite que este sea un proceso obsoleto y se beneficien los usuarios teniendo un producto de mayor calidad, esto ayuda a que todo el equipo maneje una misma versión del proceso.
  • Gracias a que los procesos de la metodología RUP son modulares, estos se pueden ajustar o configurar para que se adapten a las necesidades de cada empresa u organización desarrolladoras de software, algo que es demasiado complicado cuando se planta en un libro escrito.
  • RUP es adaptable con muchas herramientas desarrolladoras de software, con lo cual los desarrolladores tienen mayor facilidad de innovar los procesos y dar mejoría a las herramientas que están desarrollando.

"RUP, LA METODOLOGÍA DE LOS PROCESOS"

El Proceso Racional Unificado, como se ha venido mencionando, es una metodología que presenta un marco de procesos que se adaptan y ajustan a las necesidades de la organización. Es tan general y amplio como para ser adoptado por cualquier empresa u organizaciones desarrolladoras de software sin importar si son pequeñas, medianas o grandes, o si no presentan alguna estructura de proceso fuerte u organizado. La organización que adopte esta metodología puede modificar y ajustar RUP con el fin de adaptar el proceso a sus necesidades, características o limitaciones, siguiendo con la historia, cultura y dominio que ha conservado la organización. Cuando un proceso es seguido ciegamente, el trabajo tiende a ser inútil e innecesario, dando productos con muy poco valor y con tendencia a ser olvidados. Es mejor realizar un proceso que aunque no sea tan llamativo, cumpla de una forma precisa la misión y los objetivos propuestos y ayudar a los desarrolladores de software para producir un producto con alta calidad.  La adaptación de mejores prácticas dentro de la organización y todos sus procedimientos deben complementar estos procesos.

Dado a que el proceso no es estático, cada uno de sus elementos puede modificarse, personalizándose, incluyendo o suprimiendo, las diferentes actividades o flujos de trabajo. La metodología RUP es tan abierta que presenta funciones, actividades y ejemplos necesarios para realizar las modificaciones convenientes y los ajustes para ser adaptada en la organización. 

Existe otra herramienta asociada a las actividades de desarrollo de Software como el Proceso Racional Workbench las cuales también utilizan un Lenguaje Unificado de Modelado o UML y es una herramienta de RUP que apoya las actividades de diseño y creación de procesos, ayuda a las variantes de cada proyecto desarrollado por las empresas o por el mismo RUP, en conclusión esta herramienta se enfatiza en el progreso de los casos de desarrollo. Desde el año 2000, se incrementaron muchas más variantes para los casos de desarrollo en la metodología RUP implementada en las diferentes organizaciones desarrolladoras de Software.

"DESARROLLO DE SOFTWARE ITERATIVO"

Es común observar como la mayoría de equipos de trabajo desarrolladores de software, utilizan procesos de cascada es decir secuencias estrictas en las fases de análisis de los requerimientos, en el diseño, la implementación y todas las posteriores pruebas de funcionamiento. Este es un enfoque poco eficiente pues lo que hace es retrasar durante periodos prolongados a los miembros del equipo desarrollador y aplazando las pruebas hasta el ciclo final de todo el proyecto, cuando se pudo haber presentado problemas durante el camino del desarrollo. Todos los problemas presentados ya resultan muy difíciles de resolver y sobre todo costosos, representarse como amenaza en la calidad del producto. Es algo que tendría solución luego de la implementación de RUP, pues esta ofrece un enfoque iterativo que permite:

*  Tomar en cuenta siempre al usuario.
Se toma en cuenta las exigencias que esté presente ya sea para cambios o para nuevas apreciativas. Los requisitos son cambiantes a medida que se realiza el desarrollo, esta es una de las principales causas de los problemas de software, dando prolongaciones a las entregas finales, generando un usuario insatisfecho y un desarrollador desmotivado. La integración de nuevas exigencias con la metodología RUP se deben realizar de a poco por el camino del desarrollo, así estas serán mucho más pequeñas e implicaran menor número de elementos.

*  Identificación de riesgos durante la integración.
Generalmente los riesgos deben ser tratados y detectados durante la integración, con la metodología RUP se pueden mitigar los riesgos desde antes. Cuando se van desenrollando las iteraciones poco a poco, estamos poniendo en prueba cada uno de los componentes del proceso, se evalúan muchas cosas del proyecto como las herramientas a utilizar, el profesionalismo de las personas, entre otros. Se da la oportunidad de mostrar los riesgos reales que se presentan en el desarrollo o también prevenir riesgos futuros que serán más fáciles y menos costosos de superar.

*  Gestión de cambios para el producto.
La metodología RUP garantiza una gestión en los cambios del producto desarrollado, así la organización se transforma en más competitiva. Esto nos permite entregar primeros planos del producto funcional al usuario, mientras se mueve en el mercado a la par de sus competidores.

·       *  La reutilización del producto o alguna de sus partes.
Durante la planificación del proyecto, se pueden identificar partes que presenten en común con proyectos ya desarrollados. En las primeras iteraciones en la fase de diseño, podemos asociar por parte de los arquitectos oportunidades de reutilización, y después iniciar desarrollando código en común para el desarrollo de este nuevo software.

*  Corregir errores durante el desarrollo.
La arquitectura se vuelve más completa, cuando durante su desarrollo en las diferentes iteraciones, se pueden corregir los errores. A medida que se va avanzando en el desarrollo, se van detectando fallas, que si son tratadas en su transcurso tienen mayor facilidad en la solución que si se acumulan al finalizar el software, en la fase de prueba. 

En estas pruebas iterativas los técnicos en programación inician a escribir, luego se generan diseños y así sucesivamente se va llevando a cabo el desarrollo. Cuando el desarrollo no es iterativo, no existe un proceso concreto, por el contrario cada persona aportaría su proceso desde el usuario hasta el programador.  Cada persona del equipo de desarrollo de software puede ir mejorando los procesos a lo largo del camino. La última iteración que realiza RUP no solo se encarga de evaluar el estado del proyecto pretendiendo que se entregue un producto o programa, sino que también da un análisis de los cambios que debe realizar la organización o empresa para evitar errores en próximos proyectos.

Muchos equipos desarrolladores temen a la implementación de metodologías iterativas, pues las entienden como una propuesta sin fin y en donde pueden presentar una serie de vulnerabilidades en sus procesos. El comprender y utilizar “RUP” demuestra cómo controlar esas iteraciones en cuanto a la cantidad y duración que son planeadas con anterioridad, también controlar las tareas y responsabilidades que tiene cada integrante del equipo desarrollador. En esa planeación se captura el desarrollo de todo el proceso, con esto se puede tener una mejor organización, un producto de alta calidad y finalmente un usuario satisfecho.

Elaborado por: 
NARDY PAOLA JAIME RINCÓN
COD. 066102014

martes, 13 de octubre de 2015

Análisis de la adaptación tecnológica

MAPAS MENTALES


“Adopción de Tecnologías”



“Adaptación de las Aplicaciones a las Tecnologías de Cloud”




El mundo digital actual propone nuevos y desafiantes retos con mercados cada día más competitivos. Es ahí donde la adopción y adaptabilidad de nuevas e innovadoras tecnologías, pueden marcar un adelanto en la forma de hacer negocio; sin embargo, este proceso puede ser lento y complejo.

En algunas ocasiones las organizaciones, no ven claro ni con urgencia la necesidad de implementar tecnología en sus negocios, un poco por el temor de invertir gran cantidad de capital sin que dicha tecnología se acople a la misión y visión. Es importante entonces que tanto directivos como los propios trabajadores dentro de las empresas, establezcan hojas de ruta digital que brinden apoyo efectivo en pro de mejorar los servicios, los productos, las experiencias con los clientes y los modelos propios del negocio. No necesariamente se debe buscar una transformación total e inmediata, por el contrario, se debe ir avanzando, experimentado e innovando.

INTEGRANTES

NARDY PAOLA JAIME RINCON
CÓDIGO: 066102014
DEYSAN JHOAN LAVARCE HERRERA
CÓDIGO: 066091058
JUAN PABLO VILLAMIL ROMERO
CÓDIGO: 066111010



martes, 29 de septiembre de 2015

Servicios Web

EL RELOJ

Se elaboró un servicio web sencillo que brinda información sobre el RELOJ y en donde podremos consultar la hora actual. Esta página fue desarrollada en HTML en bloc de notas, con funciones sencillas de JAVASCRIPT. A continuación algunos pantallazos de la página web:





Para ingresar al servicio web, realizaremos los siguientes pasos:

1.       Nos dirigiremos al siguiente link:


2.      Automáticamente el sistema direcciona a la descarga de un  archivo comprimido que contiene la aplicación web mencionada, la cual debe ser guardada en su escritorio.

3.      Se ejecuta y posteriormente abrir uno de los archivos .HTML con el navegador Chrome 


INTEGRANTES

NARDY PAOLA JAIME RINCON
CÓDIGO: 066102014
JUAN PABLO VILLAMIL ROMERO
CÓDIGO: 066111010

Sobre la adaptación de tecnologías: Caso de estudio


Empresa Plaza de Mercado Boyacá S.A.S.



La empresa Plaza de Mercado de Boyacá S.A.S. actualmente tiene su base de datos sobre MS-Access. La organización necesita principalmente:

1.       Ampliar su BD para incluir datos de los compradores, con el objeto de saber quiénes son sus clientes, en donde residen, quien es el contacto directo, qué canales de comunicación podrían establecer entre ellos, que vendedor los atendió y qué productos compraron.

2.      Normalizar la BD al menos 3N y comprobar la integridad referencial de los datos.

3.      Proyectar el crecimiento de la base de datos para 2020.

4.      Requiere las siguientes consultas específicas:

·         Una consulta que permita ver en orden alfabético el nombre de cada vendedor, su fecha de nacimiento y su teléfono. (Campos del resultado: Nombre, Fecha de nacimiento, Teléfono).

·         Una consulta que dé como resultado el nombre de los vendedores nacidos en Bogotá. (Campos del resultado: Nombre, Ciudad).

“SELECT Vendedores.NombreVendedor, Vendedores.CiudadFROM Vendedores WHERE Ciudad = 'Bogota';”

·         Realice una consulta que le permita determinar quiénes tienen mayor acumulado (suma) en kilos vendidos, si los vendedores con hijos

“SELECT Vendedores.Hijos, Vendedores.IdVendedor, sum(Ventas,Kilos) AS kilos_vendidos FROM Vendedores INNER JOIN Ventas ON Vendedores.IdVendedor=Ventas.cod_vendedor WHERE Vendedores.Hijos =-1GROUP BY Vendedores.Hijos, Vendedores.IdVendedor;”

o los vendedores sin hijos. (Campos del resultado: Hijos, Suma de Kilos).

“SELECT Vendedores.Hijos, Vendedores.IdVendedor, sum(Ventas,Kilos) AS kilos_vendidos FROM Vendedores INNER JOIN Ventas ON Vendedores.IdVendedor=Ventas.cod_vendedor WHERE Vendedores.Hijos = 0 GROUP BY Vendedores.Hijos, Vendedores.IdVendedor;”

·         Una consulta que le permita determinar cuál fue el producto con más kilos vendidos durante el año 1999. (Campos del resultado: Nombre del Producto, Suma de Kilos en orden).

·         Una consulta donde se muestre el nombre y el total de kilos vendidos por cada vendedor (entre los productos) para el año 2002. Ordene el resultado de forma descendente, de manera que el vendedor con mayores ventas ocupe el primer lugar. (Campos del Resultado: Nombre del Vendedor, Suma en Kilos).

“SELECT Vendedores.NombreVendedor, sum(Ventas,Kilos) AS kilos_vendidos FROM Vendedores INNER JOIN Ventas ON Vendedores.IdVendedor=Ventas.cod_vendedor WHERE Fecha ≥ #01/01/2002# and Fecha ≤ #12/31/2002# GROUP BY Vendedores.NombreVendedor ORDER BY sum(Ventas,Kilos) DESC;”

·         Una consulta que permita ver el total de ventas por vendedor y producto. El resultado debe tener las siguientes columnas (campos): Nombre del vendedor, nombre del producto, suma de Kilos (kilos vendidos para ese producto), el precio del producto y el total de ventas, correspondiente a la suma de kilos multiplicada por el precio.

“SELECT Vendedores.NombreVendedor, Productos.NomProducto,  sum(Ventas,Kilos) AS kilos_vendidos, sum(Ventas,Kilos) * Productos.Precio AS Precio_Total”

5.      Informes para las dos últimas consultas de la lista anterior con el formato adecuado: que sea agradables y fáciles de entender, y de navegar en caso de ser extensos.

Tenga en cuenta que el licenciamiento de MS-Acces es costeado por el departamento como iniciativa gubernamental para apoyar las micro y pequeñas empresas del sector.
Se le solicita como consultor:

DESARROLLO DEL CASO DE ESTUDIO

1.      Su consejo sobre,  ampliar lo que ya tiene sobre la tecnología que poseen, o desarrollar desde cero un sistema de información a la medida.

Como puedo observar la empresa Plaza de Mercado Boyacá S.A.S presenta un crecimiento permanente, donde debe estar preparada para cualquier tipo de competitividad que presente en su medio. Para esto los líderes y/o gerentes de la misma, deben desarrollar un sistema de información a la medida desde cero, ya que las consultas que se realizan en Access son muy lentas, teniendo en cuenta que estas presentan poca información, por tanto no vale la pena invertir sobre lo que ya se tiene; es decir se aconseja iniciar con una inversión en el modelamiento de una Base de Datos que este a la medida de la empresa, con esto va a ser más fácil la adaptación de la misma a la proyección de crecimiento de la empresa.

Una buena opción podría ser la herramienta MySQL en la cual la empresa podrá adquirir su debido licenciamiento y generar la adecuada adaptación a la empresa, según sus requerimientos funcionales, pues esta brinda un sistema de gestión de datos relacionales dando soporte a una gran cantidad de datos cambiantes y de mayor orden en la empresa.


2.     Calcular el costo de las dos alternativas (realice el cálculo sobre una el valor de hora ingeniero estimada).

Poniendo en promedio que un Ingeniero de Sistemas tenga un salario mensual de $2.000.000. Es decir $66.700 diarios. $8.350 la hora, teniendo en cuenta que trabaje 8 horas diarias.

Alternativa 1: Aproximaciones
Herramienta: MS-Access



Alternativa 2: Aproximaciones
Herramienta: BD MySQL




Como podemos observar la Alternativa 2 es una herramienta que representa muchos más costos a la empresa, pero proyectándonos a un crecimiento empresarial estipulado al 2020, ósea en 5 años esta nueva base de datos será más adaptable al mercado del negocio, por lo cual es más rentable invertir más en un nuevas tecnologías.  

viernes, 28 de agosto de 2015

DESCRIPCIÓN : CEMEX COLOMBIA S.A



Cemex S.A es una compañía multinacional presente en los distintos continentes; el cual ofrece soluciones para la construcción, no solo a nivel privado sino también estatal. La compañía fue fundada en 1906 y surgen de la fusión realizada entre la planta Cementos Portland Monterrey y la planta Cementos Hidalgo; luego expande sus operaciones al sur de México con la adquisición de Cementos Meryda e igualmente adquiere Cementos Guadalajara para convertirse en la principal compañía mexicana en producción de cemento.En 1992 se expande la compañía a nivel internacional; primero fue en España, hasta hoy en día  encontrase operando en mas de 50 países y manteniendo relaciones con aproximadamente 108 países.  
Respecto a la filial de Cemex en Colombia ( Cemex Colombia), cuenta en la actualidad con varias plantas de procesamiento de concreto , cemento y agregados ; entre los que se destacan la planta Caracolito en Ibagué(en esta planta se procesa el  clinker base primordial para el procesamiento de concreto y cemento), la planta Santa Rosa en la periferia de la Calera( esta planta se encarga de procesar el cemento portland) , planta 240 y de Soacha ( estas dos plantas ubicada en Bogotá se encargan del procesamiento del concreto ) y la nueva planta ubicada en el departamento de Antioquia denominada Maceo ( planta dedicada a la producción de cemento).
Cemex Colombia, en la actualidad ofrece un amplio portafolio de productos, servicios y soluciones tanto en el sector estatal, en el privado como en las pequeñas empresas o pymes. Dentro los productos que se ofrecen se encuentran: cemento, concreto premezclado, agregados. En la parte de servicios  se ofrecen : 24/7 LOAD(servicio de entrega de productos a los clientes las 24 horas del día los 7 días a la semana y los 366 días del año), Sistema de Despacho de Cemento a Granel Tipo Cajero Automático, Construrama (Le brinda a los socios distribuidores una extensa gama de productos de marca a precios competitivos, adicionalmente ofrece capacitación integral para el manejo exitoso de sus negocios), Servicios de Educación y Capacitación Orientados al Cliente, Servicios Financieros para la Construcción, Soluciones Móviles( mediante mensajes de texto los clientes pueden recibir notificación cada vez que se genere una orden de cemento o concreto premezclado lista para su entrega), Multi-productos( no solo la compañía ofrece cemento o concreto ;  adicionalmente ofrece artículos para plomería, electricidad, madera, luminarias, Servicios En Línea( los clientes tienen información constante tanto de sus cuentas , como el rastreo de los productos adquiridos), Centros de Servicio( call center para un servicio rápido a los clientes), Smart Silo(monitorea los niveles de cemento de los silos de los clientes las 24 horas, permite anticipar y responder a las necesidades de resurtido de productos con tiempo suficiente), Apoyo Técnico(asistencia técnica del más alto nivel a través de un equipo de vanguardia y de personal profesional y bien capacitado staff de servicio técnico) y el Suministro de energía a industrias( mediante una subestación con capacidad de suministrar energía suficiente a varias industrias cercanas a la misma). Cemex igualmente ofrece soluciones de vivienda, pavimentación y construcción verde.
La compañía cuenta con varias áreas de trabajo en las que se destacan, la  comercial  (donde se maneja toda la parte de cartera, pedidos de los clientes, facturación e información comercial), innovación (es una área que involucra mucho a sus trabajadores con la organización, en ella los trabajadores  exponen sus ideas , paya posteriormente ser evaluadas y de allí determinara su viabilidad y su posterior puesta en funcionamiento), área de TIC¨s ( se cuenta con tecnología de punta  y personal profesional altamente capacitado para desarrollar herramientas tecnológicas encaminadas a prestar un servicio profesional tanto a los clientes como dentro de la misma organización), un área de prensa( donde se suministra información actualizada de la empresa a sus empleados y al exterior de la organización), el área de recursos humanos( encargado de las contrataciones y del bienestar de los empleados que laboran en la compañía),  área de soluciones al constructor, soluciones para el canal, soluciones para la industria, el área jurídica , entre otras.
Cemex como compañía multinacional, hace uso de las tecnologías de información para conectar y unificar sus procesos globalmente, empezando con un enfoque local con aplicaciones como bitrix24 que se usa para compartir y documentar procesos que pueden ser de utilidad como modelos de soluciones para incidentes similares, la compañía esta a la vanguardia tecnológica para brindar a sus talentos las herramientas necesarias para desarrollar todo su potencial entre estas se incluyen  el paquete empresarial Microsoft que se usa a nivel Nacional, ubicado en el área de TI, se utiliza e entorno .NET para desarrollar la mayoría de aplicativos usados por los trabajadores en sus labores diarias, a si mismo se revisan las versiones disponibles y las que están en uso  actualmente para verificar que siempre se cuente con la tecnología que permita simplificar los procesos y aumentar la productividad; con la inclusión de nuevas tecnologías, se entran a revisar los procesos llevados a cabo para actualizarlos y lograr la correcta implementación  de los avances adquiridos por la empresa, así mismo se replantean procesos y se adicionan nuevos para lograr que la empresa no pierda competitividad y mejore su posición  en el mercado de los cementos, poniendo al servicio del recurso humano la tecnologia que les permita desarrollar su potencial al servicio de Cemex. 

INTEGRANTES:
NARDY PAOLA JAIME RINCÓN
CÓDIGO: 066102014
DEYSAN LAVARCÉ
CÓDIGO:066091058
JUAN PABLO VILLAMIL ROMERO
CODIGO:066111010


lunes, 24 de agosto de 2015

DESARROLLO DE LOS PROCESOS DE LA GESTIÓN TECNOLÓGICA




En una organización es muy importante llevar una vigilancia tecnológica para una constante innovación y mantener la competitividad dentro del mercado. Se debe plantear y generar estrategias tecnológicas como base de un mejoramiento continuo donde es parte de la Gestión Tecnológica la capacitación del personal para una fácil adaptación a las nuevas tecnologías que lleguen a la empresa. La organización debe tener en cuenta estos procesos tecnológicos cíclicos para llevar a una facilidad en sus procesos internos y así mismo crear ventajas de crecimiento tanto dentro como fuera de la compañía.