martes, 29 de marzo de 2011

►DB Designer 4


DB Designer, actualmente se en encuentra en la versión 4, y puede ser descargado gratuitamente desde su web oficial, se trata de un software visual que nos ayuda para el diseño, modelado, creación y mantenimiento de nuestras bases de datos, trabaja perfectamente con MySQL, Oracle, MSSQL y otras bases de datos ODBC y modelos XML.

Principales características de DBDesigner:
  • Disponible para Linux y Windows.
  • Modo diseño y modo Consulta.
  • Ingeniería inversa para las bases de datos MySQL, Oracle, MSSQL y cualquier base de datos ODBC.
  • Generación de esquemas definido por el usuario.
  • Sincronización del modelo a la base de datos.
  • Soporte de índices.
  • Soporte de entidades débiles.
  • Sincronización de Inserts estándar.
  • Capacidad de documentar la base de datos.
  • Impresión avanzada de modelos.
  • Soporta plugins.
  • Muchas características más.

►Microsoft Office Visio 2007

Visualización fácil de procesos, sistemas e información

Office Visio 2007 permite documentar, diseñar y comprender de forma visual el estado de los sistemas y procesos empresariales con una gran variedad de diagramas, diagramas de flujo de proceso empresarial, diagramas de red, diagramas de flujo de trabajo, modelos de bases de datos y diagramas de software, entre otros. Para sacar el máximo partido de los diagramas, vincúlelos a datos subyacentes para proporcionar una imagen más completa.

En conclusión una herramienta práctica, fácil de usar y bastante cómoda.

►Actividad en Clases.-

viernes, 25 de marzo de 2011

►¿Que es DDL y DML?

DDL (Data Definition Languaje - lenguaje de definición de datos): las sentencias DDL son aquellas utilizadas para la creación de una base de datos y todos sus componentes: tablas, índices, relaciones, disparadores (triggers), procedimientos almacenados, etc.

DML (Data Manipulation Languaje - lenguaje de manipulación de datos): las sentencias DML son aquellas utilizadas para insertar, borrar, modificar y consultar los datos de una base de datos. Es una de las partes fundamentales del lenguaje SQL.
El DML lo forman las instrucciones capaces de modificar los datos de las tablas. Al conjunto de instrucciones DML que se ejecutan consecutivamente, se las llama transacciones y se pueden anulartodas ellas o aceptar, ya que una instrucción DML no es realmente efectuada hasta que no se acepta (COMMIT). En todas estas consultas, el único dato devuelto por Oracle es el número de registros que se han modificado.

►¿Que es DropBox?


Se trata de una herramienta de sincronización de archivos a través de un disco duro o directorio virtual. Permite disponer de un directorio de archivos (de cualquier tipo) de forma remota y accesible desde cualquier ordenador. Es decir, crea una carpeta en nuestra Pc y realiza una copia a través de Internet de todos los archivos que depositemos en ella.
Se ocupa de mantener la copia de nuestros archivos siempre sincronizada, es decir, cada vez que hagamos un cambio en nuestros documentos, por pequeño que sea, lo detectará y volverá a copiárselo al instante, conservando la versión antigua por si la necesitamos en el futuro.


¿Como funciona Dropbox?

Dropbox funciona instalando el programa en cada PC desde el que queramos acceder al directorio virtual y asociándolo a una cuenta determinada. Desde ese momento, dispondremos de una carpeta en la que alojar nuestros archivos y desde la que poder copiar, pegar o arrastrar documentos como si de cualquier carpeta de pc se tratara. El sistema lo tratará como un directorio más, no como un disco duro virtual ni nada similar.

Con los ficheros en «la nube», es posible acceder a ellos desde cualquier computadora del mundo con acceso a Internet a través de la interfaz web de Dropbox, pero las ventajas no se quedan ahí.
Si lo instas en otras PC, también replicará en ellas todos tus ficheros y se ocupará de mantener todas las copias sincronizadas en ambas, lo que permitirá, por ejemplo, iniciar un informe en la oficina, terminarlo en tu casa e imprimir al día siguiente el resultado final desde la oficina sin tener que hacer nada.
Una de las grandes ventajas de Dropbox es que es multiplataforma con lo cual puedes utilizarlo en equipos MAC, Windows y Linux sin problemas.


La noticia de último momento es que Dropbox ha incrementado sus límites de almacenamiento (que antes era de 3GB) hasta los 8GB, permitiendo tener un total de 10 GB gratis de espacio en disco para alojar nuestra archivos en la nube.

BUENO AQUI UN LINK DE UN VIDEO DE COMO SE OCUPA DROPBOX---->>> PINCHA AQUI

►Modelo Entidad-Relación.-


Es un tipo de modelo de datos conceptual de alto nivel que se emplea en el diseño de las base de datos relacionales. El modelo entidad-relación muestra la estructura de la base de datos empleando todo tipo de herramientas conceptuales.

Creación de un modelo entidad-relación

El primer paso para la construcción del modelo entidad-relación es la obtención y el análisis de los requerimientos de los usuarios. Esta tarea es parte de los diseñadores de la base de datos relacional.

Luego, a partir de los requisitos, se crea un esquema conceptual de la base de datos. El esquema conceptual contiene las descripciones detalladas de las entidades, relaciones y restricciones. Todas estas descripciones se expresan empleando conceptos gráficos y textuales del modelo de datos relacional.

El siguiente paso es implementar la base de datos empleando algún SGBD (software de gestión de bases de datos) adaptado al modelo entidad-relación.

Elementos del modelo entidad-relación

Los elementos conceptuales que emplea el modelo ER son:
  • Entidad
  • Entidad débil
  • Vínculo
  • Vínculo identificador
  • Atributo
  • Atributo clave
  • Atributo multivaluado
  • Atributo compuesto
  • Atributo derivado
  • Relaciones
  • Jerarquías de generalización.
Cada uno de estos elementos tiene su gráfico que lo identifica.

miércoles, 23 de marzo de 2011

►¿Qué es CRUD?


En computación CRUD es el de Crear, Obtener, Actualizar y Borrar (Create, Retrieve, Update y Delete en inglés ). Es usado para referirse a las funciones básicas en bases de datos o la capa de persistencia en un sistema de software .

En algunos lugares, se utilizan las siglas ABM para lo mismo (Alta Baja Modificación), obviando la operación de Obtener; el acrónimo ABC para Altas, Bajas y Cambios; ABML siendo la última letra (L) de listar, listado o lectura; o ABMC siendo la C de Consulta.

Tambien es usado el ABCDEF: Agregar,Buscar,Cambiar,Desplegar(listar),Eliminar,Fichar(Ficha, cedula o Reporte de un registro).

►Patrón de Diseño.-

Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.
Un patrón de diseño es una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reusable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.

  • Patrones Creacionales: Inicialización y configuración de objetos.
  • Patrones Estructurales: Separan la interfaz de la implementación. Se ocupan de cómo las clases y objetos se agrupan, para formar estructuras más grandes.
  • Patrones de Comportamiento: Más que describir objetos o clases, describen la comunicación entre ellos.
Bb972240.art233-img01-400x196(es-es,MSDN.10).gifFigura 1

En el diagrama de la Figura 1, Microsoft sostiene que las columnas de la tabla son enfoques o puntos de vista de la solución, mientras que las filas representan los niveles de abstracción. Un ejemplo muy conocido en el ambiente de desarrollo Web es el patrón de diseño de capas (layers), el cual plantea la separación de una aplicación en una capa de presentación, una de negocio y una de datos.

Los patrones de diseño no son fáciles de entender, pero una vez entendido su funcionamiento, los diseños serán mucho másflexibles, modulares y reutilizables. Han revolucionado el diseño orientado a objetos y todo buen arquitecto de software debería conocerlos.

A continuación una lista con los patrones de diseño a objetos más habituales publicados en el libro "Design Patterns", escrito por los que comúnmente se conoce como GoF (gang of four, "pandilla de los cuatro").
  • Patrones de creaciónAbstract Factory.
  • Proporciona una interfaz para crear familias de objetos o que dependen entre sí, sin especificar sus clases concretas.
  • Builder. Separa la construcción de un objeto complejo de su representación, de forma que el mismo proceso de construcción pueda crear diferentes representaciones.
  • Factory Method. Define una interfaz para crear un objeto, pero deja que sean las subclases quienes decidan qué clase instanciar. Permite que una clase delegue en sus subclases la creación de objetos.
  • Prototype. Especifica los tipos de objetos a crear por medio de una instancia prototípica, y crear nuevos objetos copiando este prototipo.
  • Singleton. Garantiza que una clase sólo tenga una instancia, y proporciona un punto de acceso global a ella.

Patrones estructurales
  • Adapter. Convierte la interfaz de una clase en otra distinta que es la que esperan los clientes. Permiten que cooperen clases que de otra manera no podrían por tener interfaces incompatibles.
  • Bridge. Desvincula una abstracción de su implementación, de manera que ambas puedan variar de forma independiente.
  • Composite. Combina objetos en estructuras de árbol para representar jerarquías de parte-todo. Permite que los clientes traten de manera uniforme a los objetos individuales y a los compuestos.
  • Decorator. Añade dinámicamente nuevas responsabilidades a un objeto, proporcionando una alternativa flexible a la herencia para extender la funcionalidad.
  • Facade. Proporciona una interfaz unificada para un conjunto de interfaces de un subsistema. Define una interfaz de alto nivel que hace que el subsistema se más fácil de usar.
  • Flyweight. Usa el compartimiento para permitir un gran número de objetos de grano fino de forma eficiente.
  • Proxy. Proporciona un sustituto o representante de otro objeto para controlar el acceso a éste.

Patrones de comportamiento

  • Chain of Responsibility. Evita acoplar el emisor de una petición a su receptor, al dar a más de un objeto la posibilidad de responder a la petición. Crea una cadena con los objetos receptores y pasa la petición a través de la cadena hasta que esta sea tratada por algún objeto.
  • Command. Encapsula una petición en un objeto, permitiendo así parametrizar a los clientes con distintas peticiones, encolar o llevar un registro de las peticiones y poder deshacer la operaciones.
  • Interpreter. Dado un lenguaje, define una representación de su gramática junto con un intérprete que usa dicha representación para interpretar las sentencias del lenguaje.
  • Iterator. Proporciona un modo de acceder secuencialmente a los elementos de un objeto agregado sin exponer su representación interna.
  • Mediator. Define un objeto que encapsula cómo interactúan un conjunto de objetos. Promueve un bajo acoplamiento al evitar que los objetos se refieran unos a otros explícitamente, y permite variar la interacción entre ellos de forma independiente.
  • Memento. Representa y externaliza el estado interno de un objeto sin violar la encapsulación, de forma que éste puede volver a dicho estado más tarde.
  • Observer. Define una dependencia de uno-a-muchos entre objetos, de forma que cuando un objeto cambia de estado se notifica y actualizan automáticamente todos los objetos.
  • State. Permite que un objeto modifique su comportamiento cada vez que cambia su estado interno. Parecerá que cambia la clase del objeto.
  • Strategy. Define una familia de algoritmos, encapsula uno de ellos y los hace intercambiables. Permite que un algoritmo varíe independientemente de los clientes que lo usan.
  • Template Method. Define en una operación el esqueleto de un algoritmo, delegando en las subclases algunos de sus pasos. Permite que las subclases redefinan ciertos pasos del algoritmo sin cambiar su estructura.
  • Visitor. Representa una operación sobre los elementos de una estructura de objetos. Permite definir una nueva operación sin cambiar las clases de los elementos sobre los que opera.

martes, 22 de marzo de 2011

►¿Qué es BPMN?

Business Process Modeling Notation o BPMN ( Notación para el Modelado de Procesos de Negocio) es una notación gráfica común para cerrar la brecha de comunicación que frecuentemente se presenta entre el diseño de los procesos de negocio y su procesos públicos y privados, orquestación, coreografía, etc.) así como conceptos avanzados de modelado (por ejemplo manejo de excepciones, compensación de transacciones, entre otros).

►¿Qué es SQL?

El lenguaje de consulta estructurado o SQL (por sus siglas en inglés structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar de una forma sencilla información de interés de una base de datos, así como también hacer cambios sobre ella.


Características generales del SQL.-
El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales permitiendo gran variedad de operaciones en éstos últimos.

Es un lenguaje declarativo de "alto nivel" o "de no procedimiento", que gracias a su fuerte base teórica y su orientación al manejo de conjuntos de registros, y no a registros individuales, permite una alta productividad en codificación y la orientación a objetos. De esta forma una sola sentencia puede equivaler a uno o más programas que se utilizarían en un lenguaje de bajo nivel orientado a registros.

►¿Porqué es importante modelar ?

El modelado de datos es uno de los elementos más importantes a la hora de iniciar el desarrollo de cualquier proyecto. Esta es la estructura, sobre la que realmente reside la verdadera esencia de la aplicación. Incluso determina si el proyecto va a cumplir con su verdadero objetivo. Es también importante porque mediante el moldeamiento de los datos se interactua con el cliente y de esta forma poder saber detalles de lo que realmente el cliente desea.


Uno de los puntos importantes que se deben indicar es que el modelado de los datos, debe ser llevado como una guía general. Para los profesionales expertos, esto implica el desarrollo de los Diagramas de Entidades y del Modelo Entidad-Relación. Independientemente de la metodología a utilizar, esta herramienta siempre será importante, para entender las relaciones entre las diversas entidades en la Base de Datos.

viernes, 18 de marzo de 2011

►¿Qué es UML?


UML es un popular lenguaje de modelado de sistemas de software. Se trata de un lenguaje gráfico para construir, documentar, visualizar y especificar un sistema de software. Entre otras palabras, UML se utiliza para definir un sistema de software.



Posee la riqueza suficiente como para crear un modelo del sistema, pudiendo modelar los procesos de negocios, funciones, esquemas de bases de datos, expresiones de lenguajes de programación, etc. Para ello utiliza varios tipos diferentes de diagramas, por ejemplo, en UML 2.0 hay 13 tipos de diagramas. Estos diagramas se pueden diferenciar en tres categorías:

Diagramas de estructura:
  • Diagrama de clases
  • Diagrama de componentes
  • Diagrama de objetos
  • Diagrama de estructura compuesta (UML 2.0)
  • Diagrama de despliegue
  • Diagrama de paquetes


Diagramas de comportamiento:
  • Diagrama de actividades
  • Diagrama de casos de uso
  • Diagrama de estados


Diagramas de interacción:
  • Diagrama de secuencia
  • Diagrama de comunicación
  • Diagrama de tiempos (UML 2.0)
  • Diagrama de vista de interacción (UML 2.0)

Algunos programas gratuitos para modelar en UML son:
ArgoUML, Dia, gModeler, MonoUML, StarUML, TCM, Umbrello Herramienta, UMLet.

►Modelo Entidad Relación.-

Breve Historia del Modelo Entidad-Relación

El modelo entidad-relación es el modelo de datos más ampliamente usado para el diseño de bases de datos.

Fue creado por Peter Chen en el año 1976, y desde entonces se ha vuelto muy popular. En 1988 el ANSI seleccionó el modelo ER como el modelo estándar para los sistemas de diccionarios de recursos de información (IRDS).

Originalmente el modelo ER sólo incluía conceptos básicos como entidad, relación y atributos. Luego se agregaron otros conceptos como atributos compuestos y las jerarquerías de generalización.



Modelo entidad-relación 
Es un tipo de Modelo de Datos conceptual de alto nivel que se emplea en el diseño de las Base de Datos relacionales. El modelo entidad-relación muestra la estructura de la base de datos empleando todo tipo de herramientas conceptuales.



Creación de un modelo entidad-relación
El primer paso para la construcción del modelo entidad-relación es la obtención y el análisis de los requerimientos de los usuarios. Luego, a partir de los requisitos, se crea un esquema conceptual de la base de datos. El esquema conceptual contiene las descripciones detalladas de las entidades, relaciones y restricciones. El siguiente paso es implementar la base de datos empleando algún SGBD (software de gestión de bases de datos) adaptado al modelo entidad-relación.

Elementos del modelo entidad-relación
Los elementos conceptuales que emplea el modelo ER son:

  • Entidad
  • Entidad débil
  • Vínculo
  • Vínculo identificador
  • Atributo
  • Atributo clave
  • Atributo multivaluado
  • Atributo compuesto
  • Atributo derivado
  • Relaciones
  • Jerarquías de generalización.

►Tarea (Cardinalidad).-

Ejercicio 1: Realizar.





Ejercicio2: Realizar 6 ejemplos.

jueves, 17 de marzo de 2011

► Ciclo de vida del Software.-

Un modelo de ciclo de vida de software es una vista de las actividades que ocurren durante el desarrollo de software, intenta determinar el orden de las etapas involucradas y los criterios de transición asociadas entre estas etapas.

Un modelo de ciclo de vida del software:

  • Describe las fases principales de desarrollo de software.
  • Define las fases primarias esperadas de ser ejecutadas durante esas fases.
  • Ayuda a administrar el progreso del desarrollo.
  • Provee un espacio de trabajo para la definición de un detallado proceso de desarrollo de software.


Así, los modelos por una parte suministran una guía para los ingenieros de software con el fin de ordenar las diversas actividades técnicas en el proyecto, por otra parte suministran un marco para la administración del desarrollo y el mantenimiento, en el sentido en que permiten estimar recursos, definir puntos de control intermedios, monitorear el avance, etc.

miércoles, 16 de marzo de 2011

► Desarrollo ágil de software.-

El desarrollo ágil de software es un marco de trabajo conceptual de la ingeniería de software que promueve iteraciones en el desarrollo a lo largo de todo el ciclo de vida del proyecto. Existen muchos métodos de desarrollo ágil; la mayoría minimiza riesgos desarrollando software en cortos lapsos de tiempo. El software desarrollado en una unidad de tiempo es llamado una iteración, la cual debe durar de una a cuatro semanas. Cada iteración del ciclo de vida incluye: planificación, análisis de requerimientos, diseño, codificación, revisión y documentación. Una iteración no debe agregar demasiada funcionalidad para justificar el lanzamiento del producto al mercado, pero la meta es tener un demo (sin errores) al final de cada iteración. Al final de cada iteración el equipo vuelve a evaluar las prioridades del proyecto.
Los métodos ágiles enfatizan las comunicaciones cara a cara en vez de la documentación. La mayoría de los equipos ágiles están localizados en una simple oficina abierta, a veces llamadas "plataformas de lanzamiento" (bullpen en inglés). La oficina debe incluir revisores, escritores de documentación y ayuda, diseñadores de iteración y directores de proyecto. Los métodos ágiles también enfatizan que el software funcional es la primera medida del progreso. Combinado con la preferencia por las comunicaciones cara a cara, generalmente los métodos ágiles son criticados y tratados como "indisciplinados" por la falta de documentación técnica.

martes, 15 de marzo de 2011

► Scrum.-



Scrum, más que una metodología de desarrollo software, es una forma de auto-gestión de los equipos de programadores. Un grupo de programadores deciden cómo hacer sus tareas y cuánto van a tardar en ello. Scrum ayuda a que trabajen todos juntos, en la misma dirección, con un objetivo claro.

Scrum permite además seguir de forma clara el avance de las tareas a realizar, de forma que los "jefes" puedan ver día a día cómo progresa el trabajo.

Sin embargo, Scrum no es una metodología de desarrollo, puesto que no indica qué se debe hacer para hacer el código. Debería, por tanto, complementarse con alguna otra metodología de desarrollo. Se lleva bien con las metodologías ágiles y en concreto, con la programación extrema.

► Introducción a las bases de datos.-

Comenzamos con los conceptos básicos para conocer lo que es una base de datos.


Las bases de datos se ingeniaron gracias a la necesidad de las grandes empresas de almacenar ingentes cantidades de información de una forma rápida, sencilla y fiable, y que a su vez pudieran acceder a ella en cualquier momento sin necesidad de desplazarse a salas dedicadas a archivar documentación, como hasta hace poco se venia haciendo.

Cuando comenzó el despegue de los programas informáticos se empezaron a almacenar datos en los archivos de los programas, lo cual era más cómodo pero aun así tenían grandes dificultades a la hora de querer modificar registros, estructuras o simplemente buscar información. 

A finales de los años sesenta nacen las bases de datos. En estas bases de datos se guardan los datos utilizados por los usuarios, empresas, etc. Y los programas que los utilizan no se tienen que preocupar de su mantenimiento ni almacenaje por lo que un cambio en la base de datos no tiene porque afectar en principio a los programas que la utilizan.

Como definición de base de datos entendemos que se trata de un conjunto de datos interrelacionados y almacenados sin redundancias innecesarias, los cuales sirven a las aplicaciones sin estar relacionados de una manera directa entre ellos. 

Una base de datos puede ser utilizada por varias aplicaciones y usuarios. Toda base de datos debe permitir insertar, modificar y borrar datos por lo que en las bases de datos se guarda información de dos tipos:
  • Los datos de usuarios (datos usados por las aplicaciones).
  • Los datos de sistema (datos que la base de datos utiliza para su gestión. Ej. Datos de los usuarios que tienen acceso a la base de datos).