Maestria

 

 

Oct 13

Bases de Datos (clase 7)

El día de ayer en Clase de Ingeniería de Software hubo examen para la parte 2 del curso.
Por eso no escribí nada…
Pero sigamos con Bases de datos.

La arquitectura del DBMS (Parte II)

AFINACIÓN
Optimización de los procesos con el objeto de hacer más eficientes los querys SQL. Esta función se efectúa debido a que todo el software puede ser mejorado, de manera que se ocupen menos recursos. Estos cambios pueden ser tan complejos como la modificación del código en sí, o tan simples como la creación de un índice.

Optimización Basa en Costos
Cada vez que se lanza un query se lanzan pares de ejecución.
Un query puede ejecutarse de distintas formas (plan de ejecución), dependiendod el número de tablas involucradas o los parámetros establecidos. Se dice que la DBMS hace una regla de dedo entre las múltiples planes de ejecución y emplea la que cueste menos (en recursos).
Es decir, ejecuta el más rápido.
En SQLServer existen funciones avanzadas en donde permite que sea uno el que elija el plan a ejecutar.

Optimización Basada en Reglas
Este tipo de optimización fué eliminado del Oracle 10g.
Se ejecuta con base en reglas.
ej.

  • Siempre toma el índice la tabla 2
  • Si el 50% de los datos son iguales entonces, fullScan

(more…)

Maestria | Sin comentarios »

Oct 6

Bases de Datos (clase 6)

La clase de Bases de Datos continuó durante uno de mis dos fines de semana perdidos, el segundo el maestro canceló la clase.

Arquitectura del DBMS

Diccionario de Datos o esquema de la base de datos o metadatos (mal dicho según el mayestro) es la información de la base de datos.

La base de datos Oracle esta conformado actualmente por dos Tablespaces: El de Sistema y el de Usuarios.

Control Files.
Sincroniza las bases de datos y dataFiles.
Hay que tener cuidado especial con estos datos, debido a que si hay errores en estos archivos es casi imposible restaurar la base de datos.

Redo Log Files.
Archivos que guardan imagenes de registros antes de hacer un uddate, de forma que se tiene una imagen de antes y después del update.
Si el DBA quisiera hacer un Rollback, o hiciera un Kill process o el sistema fallara, mediante el Redo Log File se puede restaurar el aspecto de la base de datos.
Tambien llamados Log File o Journal.

Nota: Se dice que para Oracle, por cada usuario que se tenga en la Base de Datos hay que respaldarlo con 1m de RAM

Parsed = Compilar

Maestria | Sin comentarios »

Oct 5

Ingeniería de Software (clase 7)

Pues bien, durante mi viaje a Villahermosa me perdí de dos clases de esta materia.
La próxima clase hay examen nuevamente.

Marcos de Trabajo de los Sistemas de Información

Sistema es una colección de componentes interrelacionados que trabajan conjuntamente para cumplir un objetivo.

Un Sistema de Información es el conjunto de procesos que, operando sobre una colección de datos estructurada de acuerdo a una empresa, recopila, elabora y distribuye la información necesaria para las actividades de dirección y control; apoyando al menos en parte, la toma de decisiones necesarias para desempeñar las funciones y procesos de negocios de la empresa de acuerdo a su estrategia.

Un modelo organiza y documenta la información sobre un sistema.

El modelado de datos es una parte importante y fundamental del marco de trabajo de los Sistemas de Información, es el enfoque a los datos que se procesan en dicho Sistema de Información.

Dicho enfoque se basa es definir la forma lógica de los datos procesados por el Sistema de Información; tal definición necesita una manera especifica que facilite su abstracción para generar un modelo.

Modelo Entidad Relación
Elaborado por Peter Chen en 1976.
En este modelo se presenta la vista unificada de los datos, centrándose en la estructura lógica y abstracta de los datos, como representación del mundo real, con independencia de consideraciones del mundo físico.

Un modelo Entidad-Relación tiene los siguientes elementos:

  • Entidad es “una persona, lugar, cosa, concepto, suceso, real o abstracto de interés para la empresa”. Es aquel objeto acerca del cual queremos almacenar información en la base de datos.
  • Interrelación se define como la asociación o correspondencia entre entidades.
  • Atributos

Modelado de datos mediante UML
Actualmente, la notación más usada para este tipo de modelado es la de UML.
Este leguaje no incluye una notación especifica para este modelado, ya que supone un proceso de desarrollo Orientado a Objetos y modela los datos usando objetos y sus relaciones, en otras palabras se trata de un modelado de datos orientado a objetos.

Diagramas UML

  1. Diagrama de paquetes. En un diagrama que muestra como un sistema está dividido en agrupaciones lógicas mostrando las dependencias entre esas agrupaciones.
  2. Diagrama de clases. Describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas informáticos, donde se crea el diseño conceptual de la información que se manejará en el sistema, y la relación entre uno y otro.
  3. Diagrama de Objetos. Son un caso especial de un diagrama de clases en el que se muestran instancias específicas de clases (objetos) en un momento particular del sistema.
    Los diagramas de objetos no muestran la multiplicidad ni los roles, aunque su notación es similar a los diagramas de clase.
  4. Diagrama de estructura compleja. Muestra la estructura interna de un clasificador, incluyendo sus puntos de la interacción a otras partes del sistema.
    Los elementos de la clase se han descrito en detalle en la sección en diagramas de la clase. Esta sección describe la manera que las clases se pueden exhibir como elementos compuestos que exponen interfaces y que contienen puertos y piezas.
  5. Diagrama de Componentes. Muestra las piezas de software, controladores embebidos, etc., que compondrán un sistema. Un diagrama componente nivel de la abstracción mas alto que un diagrama de la clase – usualmente un componente es implementado por unas o más clases (u objetos) en tiempo de ejecución.
  6. Diagrama de despliegue. Muestra la configuración de los elementos del hardware (nodos) y muestras como los elementos de software son mapeados en esos nodos.
  7. Diagrama de Casos de Uso. El modelo del caso del uso captura los requisitos de un sistema.
    Los casos del uso son un medio que comunica a los usuarios y otros stakehoolders lo que el sistema intenta hacer.
  8. Diagrama de Actividad. Muestra un flujo de trabajo (mediante una secuencia de actividades) desde un punto de inicio hasta un punto final, detallando las trayectorias de decisión que existen.
    Son útiles para el modelado del negocio, donde se detallan los procesos involucrados en las actividades del negocio.
  9. Diagrama de máquina de estados. Modela el comportamiento de un solo objeto, especificando la secuencia de estados que un objeto tiene en su tiempo de vida, en respuesta a eventos.
  10. Diagrama de colaboración. Es un diagrama de la interacción que muestra información similar al diagramas de secuencia, pero a su enfoque primario es mostrar las relaciones de los objetos, si considerar el tiempo.
  11. Diagrama de secuencias. El diagrama de secuencia es uno de los diagramas más efectivos para modelar interacción entre objetos en un sistema. Un diagrama de secuencia muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso.
  12. Diagrama de tiempos.Muestran los cambios en el estado o valor de uno o mas elementos en el tiempo.
    También, pueden mostrar la interacción la sincronización de eventos. – su duración con las restricciónes de tiempo – .
  13. Diagrama de Interacción.Es un tipo de diagrama de la actividad en la cual los nodos representan diagramas de la interacción.
    Los diagramas de la interacción pueden incluir los diagramas de la secuencia, de colaboración, de interacción y de tiempo.
    Los diagramas de la descripción de la interacción introducen dos nuevos elementos: ocurrencias de la interacción y elementos de la interacción.

Maestria | Sin comentarios »

Sep 15

Bases de Datos (clase 4)

Unidades de Programa
Son utilizadas en Oracle para referir a procedimientos almacenados, funciones, paquetes, triggers y bloques anónimos.

Algunas funciones de Query vistas fueron:


El maestro de esta clase nos cuenta bastantes anécdotas de muchos lados en los que ha trabajado. Estuvo trabajando en un banco y mucho de lo que cuenta se centra en lo que vió en esos lugares. Adicionalmente conoce a muchas personas especialistas y de varias anécdotas ya un poco más lejanas del tema de Bases de Datos.

Una que le da mucha risa, y que comenta de forma seguida es la de una persona que se puso a probar cada uno de los comandos de SQL sobre la base de datos de su compañía, y que no hubo problemas mientras se trataban de SELECT, pero cuando llegó a la parte de DROM, se tiró una tabla completa.

Paquetes
Un “package” es una colección encapsulada de objetos relacionados, almacenados juntos en la base de datos. Usar los paquetes es una alternativa a crear procedimientos y funciones como objetos del esquema standalone.

Maestria | Sin comentarios »

Sep 14

Ingeniería de Software (clase 4)

Enfoque de procesos

Un Enfoque de Procesos (EBP) es un principio de gestión básico y fundamental para la obtención de resultados empresariales de manera eficaz y eficiente, en términos de satisfacción de los grupos de interés. Este enfoque sostiene que “Un resultado se alcanza más eficientemente cuando las actividades y los recursos se gestionan como un proceso”.

Un proceso es un conjunto de operaciones lógicas y aritméticas ordenadas, cuyo propósito es la obtención de resultados determinados.

Para enfocarse a procesos hay que seguir cuatro pasos:

  1. La identificación y secuencia de los procesos
  2. La descripción de cada uno de los procesos
  3. El seguimiento y la medición para conocer los resultados que obtienen
  4. La mejora de los procesos con base en el seguimiento y medición realizados.

Hay tres tipos de procesos:

  • Procesos estratégicos:
    Son los procesos que están vinculados en el ámbito de las responsabilidades de la dirección, y principalmente, a largo plazo. Se refieren fundamentalmente a los procesos de planeación y otros que se consideren ligados a factores claves o estratégicos.
  • Procesos operativos:
    Son los procesos ligados con la realización del producto y/o la prestación del servicio.
  • Procesos de apoyo:
    Son los procesos que dan soporte a los procesos operativos, se suelen referir a procesos relacionados con recursos y mediciones.

Ejemplo de mapa de procesos

Ligas de interes

Maestria | Sin comentarios »

Sep 8

Bases de Datos (clase 3)

Llegué rayando el día de hoy, no encontraba dónde estacionarme. Afortunadamente hasta el momento lo que han comenzado a ver es una plática de Oracle y filosofía de trabajo dentro de su área. Las revistas de Oracle y un poco mas, sin aondar en el tema.

Comenzó a hablar acerca de la compra de un CRM por parte de Oracle, el conocido Siebel, otra de tantas adquisiciones de la compañía.

Las vistas

Una vista es una presentación hecha a la medida de los datos en una o mas tablas, incluso tienen la misma estructura que una tabla (filas y columnas), la única diferencia es que sólo se almacena de ellas la definición, no los datos. Los datos que se recuperan mediante una consulta a una vista se presentarán igual que los de una tabla. De hecho, si no se sabe que se está trabajando con una vista, nada hace suponer que es así. Al igual que sucede con una tabla, se pueden insertar, actualizar, borrar y seleccionar datos en una vista. Aunque siempre es posible seleccionar datos de una vista, en algunas condiciones existen restricciones para realizar el resto de las operaciones sobre vistas.
(more…)

Maestria | Sin comentarios »

Sep 7

Ingenieria de Software (clase 3)

Hoy toca exámen y por lo que pude ver comprueba qué tanto memorizaste las otras dos clases

….
…..
mmmmh, con lo que me encanta

Maestria | Sin comentarios »