lunes, 21 de diciembre de 2015

TERCERA FORMA
La tercera forma normal (3NF) es una forma normal usada en la normalización de bases de datos. La 3NF fue definida originalmente por E.F. Codd1 en 1971. La definición de Codd indica que una tabla está en 3NF si y solo si las tres condiciones siguientes se cumplen:
  • La tabla está en la segunda forma normal (2NF)
  • Ningún atributo no-primario de la tabla es dependiente transitivamente de una clave primaria
  • Es una relación que no incluye ningún atributo clave
Un atributo no-primario es un atributo que no pertenece a ninguna clave candidata. Una dependencia transitiva es una dependencia funcional X → Z en la cual Z no es inmediatamente dependiente de X, pero sí de un tercer conjunto de atributos Y, que a su vez depende de X. Es decir, X → Z por virtud de X → Y e Y → Z.
Una formulación alternativa de la definición de Codd, dada por Carlo Zaniolo2 en 1982, es ésta: Una tabla está en 3NF si y solo si, para cada una de sus dependencias funcionales X → A, por lo menos una de las condiciones siguientes se mantiene:
  • X contiene A, ó
  • X es una superclave, ó
  • A es un atributo primario (es decir, A está contenido dentro de una clave candidata)
La definición de Zaniolo tiene la ventaja de dar un claro sentido de la diferencia entre la 3NF y la más rigurosa forma normal de Boyce-Codd (BCNF). La BCNF simplemente elimina la tercera alternativa ("A es un atributo primario").
SEGUNDA FORMA
La segunda forma normal (2NF) es una forma normal usada en normalización de bases de datos. La 2NF fue definida originalmente por E.F. Codd1 en 1971. Una tabla que está en la primera forma normal (1NF) debe satisfacer criterios adicionales para calificar para la segunda forma normal. Específicamente: una tabla 1NF está en 2NF si y solo si, dada una clave primaria y cualquier atributo que no sea un constituyente de la clave primaria, el atributo no clave depende de toda la clave primaria en vez de solo de una parte de ella.
En términos levemente más formales: una tabla 1NF está en 2NF si y solo si ninguno de sus atributos no-principales son funcionalmente dependientes en una parte (subconjunto propio) de una clave primaria (Un atributo no-principal es uno que no pertenece a ninguna clave primaria).
Observe que cuando una tabla 1NF no tiene ninguna clave candidata compuesta (claves candidatas consisten en más de un atributo), la tabla está automáticamente en 2NF.
PRIMERA NORMA
La primera forma normal (1FN o forma mínima) es una forma normal usada en normalización de bases de datos. Una tabla de base de datos relacional que se adhiere a la 1FN es una que satisface cierto conjunto mínimo de criterios. Estos criterios se refieren básicamente a asegurarse que la tabla es una representación fiel de una relación1 y está libre de "grupos repetitivos".2
Sin embargo, el concepto de "grupo repetitivo", es entendido de diversas maneras por diferentes teóricos. Como consecuencia, no hay un acuerdo universal en cuanto a qué características descalificarían a una tabla de estar en 1FN. Muy notablemente, la 1FN, tal y como es definida por algunos autores excluye "atributos relación-valor" (tablas dentro de tablas) siguiendo el precedente establecido por (E.F. Codd) (algunos de esos autores son: Ramez Elmasri y Shamkant B. Navathe3 ). Por otro lado, según lo definido por otros autores, la 1FN sí los permite (por ejemplo como la define Chris Date).
NORMALIZACION DE BASE DE DATOS
El proceso de normalización de bases de datos consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación almodelo relacional.
Las bases de datos relacionales se normalizan para:
  • Evitar la redundancia de los datos.
  • Disminuir problemas de actualización de los datos en las tablas.
  • Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:
  • Cada tabla debe tener su nombre único.
  • No puede haber dos filas iguales. No se permiten los duplicados.
  • Todos los datos en una columna deben ser del mismo tipo.

martes, 15 de diciembre de 2015

MODELO EN RED
Una base de datos de red es una base de datos conformada por una colección o set de registros, los cuales están conectados entre sí por medio de enlaces en una red. Elregistro es similar al de una entidad como las empleadas en el modelo relacional.
Un registro es una colección o conjunto de campos (atributos), donde cada uno de ellos contiene solamente un único valor almacenado.
El enlace es exclusivamente la asociación entre dos registros, así que podemos verla como una relación estrictamente binaria.
Una estructura de base de datos de red, llamada algunas veces estructura de plex, abarca más que la estructura de árbol: un nodo hijo en la estructura red puede tener más de un nodo padre. En otras palabras, la restricción de que en un árbol jerárquico cada hijo puede tener sólo un padre, se hace menos severa.
Así, la estructura de árbol se puede considerar como un caso especial de la estructura de red.El argumento principal a favor del modelo de red, en comparación con el modelo jerárquico, era que permitió un modelado más natural de relaciones entre entidades. Aunque el modelo extensamente fuera puesto en práctica y usado, esto falló en hacerse dominante por dos motivos principales. En primer lugar, la IBM decidió atenerse al modelo jerárquico con extensiones de semired en sus productos establecidos como IMS Y DL/I. En segundo lugar, eventualmente fue desplazado por el modelo relacional, que ofreció un nivel más alto, la interfaz más declarativo. Hasta principios de los años 1980 las ventajas del funcionamiento de las interfaces de bajo nivel de navegación ofrecidos por jerárquico y bases de datos de red eran persuasivas para muchos usos en gran escala, pero como el hardware se hizo más rápido, la productividad suplementaria y la flexibilidad del modelo relacional condujo a la caída en desuso gradual del modelo de red en el uso corporativo de la empresa.
MODELO RELACIONAL
El modelo relacional, para el modelado y la gestión de bases de datos, es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos.
Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.
Su idea fundamental es el uso de relaciones. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados tuplas. Pese a que esta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, pensando en cada relación como si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un registro o "tupla") y columnas (también llamadas "campos").
Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente.
MODELOS JERÁRQUICO


En ellas se organiza la información se organiza con un jerarquía en la que la relación entre las entidades de este modelo siempre es del tipo padre / hijo. De esta forma hay una serie de nodos que contendrán atributos y que se relacionarán con nodos hijos de forma que puede haber más de un hijo para el mismo padre (pero un hijo sólo tiene un padre).

Las entidades de este modelo se llaman 
segmentos y los atributos campos. La forma visual de este modelo es de árbol invertido, en la parte superior están los padres y en la inferior los hijos.

En una base de datos, un tipo de entidad es el equivalente de una tabla; cada registro individual es representado como una fila y un atributo como una columna. Los tipos de entidad son relacionados el uno con el otro usando 1: Trazar un mapa de n, también conocido como relacion de uno a varios. El ejemplo más aprobado de base de datos jerárquica modela es un IMS diseñado por la IBM.


PROTECCIÓN DE DATOS
Proteja en tiempo real las bases de datos esenciales para las empresas frente a amenazas externas e internas, así como a las internas de las propias bases de datos, con soluciones que no requieran cambios de arquitectura, costoso hardware ni periodos de inactividad. Con el software de seguridad de Intel Security para bases de datos, podrá obtener una visión general de la seguridad de las bases de datos y la postura de seguridad correspondiente, adecuar todas las directivas de administración de la seguridad de las bases de datos y mantener el cumplimiento de las normativas de seguridad. Todas nuestras soluciones están integradas con la consola de administración de McAfee ePolicy Orchestrator para administrar la seguridad de las bases de datos de forma centralizada.

McAfee Data Center Security Suite for Databases

Mejore la seguridad de las bases de datos en entornos físicos, virtuales y en la nube mediante una solución de seguridad fácil de desplegar y muy escalable. La suite incluye McAfee Database Activity Monitoring, McAfee Virtual Patching for Databases y McAfee Vulnerability Manager for Databases.

McAfee Vulnerability Manager for Databases

Podrá obtener una visibilidad completa de la postura de seguridad de las bases de datos gracias a la evaluación de riesgo detallada de más de 4700 comprobaciones de vulnerabilidades. Clasifique las amenazas para la seguridad de las bases de datos en diferentes niveles y secuencias de comandos de solución con el fin de prepararse mejor para las auditorías y cumplir las normativas.
ADMINISTRADOR DE BASE DE DATOS
Un administrador de bases de datos (también conocido como DBA, en inglés database administrator) es aquel profesional que administra las tecnologías de la información y la comunicación, siendo responsable de los aspectos técnicos, tecnológicos, científicos, inteligencia de negocios y legales de bases de datos.
Sus tareas incluyen las siguientes:
  • Implementar, dar soporte y gestionar bases de datos corporativas.
  • Crear y configurar bases de datos relacionales.
  • Ser responsables de la integridad de los datos y la disponibilidad.
  • Diseñar, desplegar y monitorizar servidores de bases de datos.
  • Diseñar la distribución de los datos y las soluciones de almacenamiento.
  • Garantizar la seguridad de las bases de datos, realizar copias de seguridad y llevar a cabo la recuperación de desastres.
  • Planificar e implementar el aprovisionamiento de los datos y aplicaciones.
  • Diseñar planes de contingencia.
  • Diseñar y crear las bases de datos corporativas de soluciones avanzadas.
  • Analizar y reportar datos corporativos que ayuden a la toma de decisiones en la inteligencia de negocios.
  • Producir diagramas de entidades relacionales y diagramas de flujos de datos, normalización esquemática, localización lógica y física de bases de datos y parámetros de tablas.
Los administradores de bases de datos tienen competencias y capacidades en uno o más sistemas de gestión de bases de datos, algunos ejemplos: Microsoft SQL Server, IBM DB2, Oracle MySQL, Oracle database, IBM Informix y SQL Anywhere.
En ingeniería estadística es una de las cualificaciones subyacentes, que trata la información para almacenarla, hacerla altamente explotable y altamente disponible. Además, vela por la eficacia técnológica del almacenamiento en el desempeño de investigaciones, buscando inferencias sólidas y compactas, para canalizar resultados manteniendo un equilibrio entre las ciencias involucradas y la propiamente enunciada, ingeniería estadística de las ciencias de la computación.
El control de tecnologías de bases de datos y las matemáticas permite al DBA rendir informes, realizar reportes sobre cualquier proceso industrial y participar de forma activa en procesos avanzados de desarrollo, consolidando las capacidades propias de un profesional de tecnologías de la información y un ingeniero especialista.
Los factores de éxito en la carrera del DBA se versan sobre las cualificaciones en los avances de las tecnologías de gestión del almacenamiento, los avances en sistemas gestores de bases de datos y requerimientos de cualificación para cada proyecto como garantía de calidad necesaria en el rol a asignar, incluyendo, técnicas avanzadas de gestión de infraestructuras tecnológicas, la gestión de protocolos y servicios de redes, la optimización de código de programación, garantizar el procesamiento eficaz de información, la gestión de interfaces integrales para el tratamiento de datos, la gestión de cambios, la gestión por objetivos y las gestión por resultados. Se definen algunos aspectos que incluye la profesión del DBA:



lunes, 14 de diciembre de 2015

QUE ES UN SGBD
Un sistema gestor de base de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto.
Estos sistemas también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permiten presentar la información de la base de datos en variados formatos. La mayoría incluyen un generador de informes. También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas.
Hay muchos tipos distintos según cómo manejen los datos y muchos tamaños distintos de acuerdo a si operan en computadoras personales y con poca memoria o grandes sistemas que funcionan en mainframes con sistemas de almacenamiento especiales.
Generalmente se accede a los datos mediante lenguajes de interrogación, lenguajes de alto nivel que simplifican la tarea de construir las aplicaciones. También simplifican la interrogación y la presentación de la información. Un SGBD permite controlar el acceso a los datos, asegurar su integridad, gestionar el acceso concurrente a ellos, recuperar los datos tras un fallo del sistema y hacer copias de seguridad. Las bases de datos y los sistemas para su gestión son esenciales para cualquier área de negocio, y deben ser gestionados con esmero.
FUNCIONES
Las principales funciones que debe realizar un S.G.B.D. son:
  • La definición de los datos.
  • La manipulación de los datos.
  • Garantizar la seguridad e integridad de los datos.
  • La gestión de las transacciones y el acceso concurrente.
  • LENGUAJES
  • Lenguaje de definición de datos (LDD o DDL): se utiliza para especificar el esquema de la BD, las vistas de los usuarios y las estructuras de almacenamiento. Es el que define el esquema conceptual y el esquema interno. Lo utilizan los diseñadores y los administradores de la BD.
  • Lenguaje de manipulación de datos (LMD o DML): se utilizan para leer y actualizar los datos de la BD. Es el utilizado por los usuarios para realizar consultas, inserciones, eliminaciones y modificaciones. Los hay procedurales, en los que el usuario será normalmente un programador y especifica las operaciones de acceso a los datos llamando a los procedimientos necesarios. Estos lenguajes acceden a un registro y lo procesan. Las sentencias de un LMD procedural están embebidas en un lenguaje de alto nivel llamado anfitrión. Las BD jerárquicas y en red utilizan estos LMD procedurales.
  • No procedurales son los lenguajes declarativos. En muchos SGBD se pueden introducir interactivamente instrucciones del LMD desde un terminal, también pueden ir embebidas en un lenguaje de programación de alto nivel. Estos lenguajes permiten especificar los datos a obtener en una consulta, o los datos a modificar, mediante sentencias sencillas. Las BD relacionales utilizan lenguajes no procedurales como SQL (Structured Quero Language) o QBE (Query By Example).
    - La mayoría de los SGBD comerciales incluyen lenguajes de cuarta generación (4GL) que permiten al usuario desarrollar aplicaciones de forma fácil y rápida, también se les llama herramientas de desarrollo. Ejemplos de esto son las herramientas del SGBD ORACLE: SQL Forms para la generación de formularios de pantalla y para interactuar con los datos; SQL Reports para generar informes de los datos contenidos en la BD; PL/SQL lenguaje para crear procedimientos que interractuen con los datos de la BD.
  • BASE DE DATOS DISTRIBUIDAS
  • Un sistema de gestión de bases de datos distribuidas (SGBDD) es un Sistema de Gestión de bases de datos que gestiona la BD distribuida
    Funcionalidades adicionales de un SGBDD
    • Accede a sitios remotos y transmite consultas y datos a través de varios sitios mediante una red de comunicación.
    • Almacena el esquema de distribución y replicación de los datos en el catalogo del sistema.
    • Establece las estrategias de ejecución de las consultas y las transacciones que acceden a los datos en más de un sitio.
    • Decide sobre cual copia de los datos replicados acceder.
    • Mantiene la consistencia de las copias de los datos replicados.
    • Realiza la recuperación ante los fallos.
    •                                               DICCIONARIO DE RECURSOS DE INFORMACIÓN
    •                                          
    • Un diccionario de datos es un conjunto de metadatos que contiene las características lógicas y puntuales de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripción, alias, contenido y organización.
      Es un catálogo, un depósito, de los elementos en un sistema. Como su nombre lo sugiere, estos elementos se centran alrededor de los datos y la forma en que están estructurados para satisfacer los requerimientos de los usuarios y las necesidades de la organización. En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos en todo el sistema. Los elementos más importantes son flujos de datos, almacenes de datos y procesos. El diccionario guarda los detalles y descripciones de todos estos elementos.
      Si los analistas desean conocer cuántos caracteres abarca un determinado dato o qué otros nombres recibe en distintas partes del sistema, o dónde se utiliza, encontrarán las respuestas en un diccionario de datos desarrollado en forma apropiada.
      El diccionario se desarrolla durante el análisis de flujo de datos y auxilia a los analistas que participan en la determinación de los requerimientos de sistemas.
      Definición de Elementos
      El nivel más importante de datos es el elemento dato. (es probable que usted conozca otros nombres que se le dan a este término: campo dato o parte elemental.). Ninguna unidad más pequeña tiene significado para los analistas de sistemas o usuarios. Los elementos dato son los bloques básicos para todos los demás datos del sistema. Por si mismo conllevan suficiente significado para ningún usuario.


SISTEMA DE FICHEROS DE BASE DE DATOS
Es un concepto nuevo de manejo de ficheros basado en bases de datos, como sustitutivo o añadido a la estructura jerárquica. Los ficheros se identifican por sus características, tipo, asunto, autor o meta-información similar. Un fichero puede ser accedido a través de una consulta SQL este donde este.
Ejemplos:
  • BFS
  • WinFS
OBJETOS DEL DISEÑO LÓGICOS DE DATOS

El objetivo del diseño lógico es convertir los esquemas conceptuales locales en un esquema lógico global que se ajuste al modelo de SGBD sobre el que se vaya a implementar el sistema. Mientras que el objetivo fundamental del diseño conceptual es la compleción y expresividad de los esquemas conceptuales locales, el objetivo del diseño lógico es obtener una representación que use, del modo más eficiente posible, los recursos que el modelo de SGBD posee para estructurar los datos y para modelar las restricciones
Los modelos de bases de datos más extendidos son el modelo relacional, el modelo de red y el modelo jerárquico. El modelo orientado a objetos es también muy popular, pero no existe un modelo estándar orientado a objetos.
DISEÑO LÓGICO DE DATOS

Proceso que forma parte diseño de base de datos, y que resulta en un esquema logico.

El diseño  lógico de una base de datos parte del esquema conceptual de una base de datos, resultando en un esquema logico de una base de datos.

Un esquema lógico de una base de datos es una descripción de la estructura de una base de datos que puede procesar un SGBD.

El esquema  lógico de base de datos depende de un tipo de SGBD (relacional, de redes, jerárquico...), pero no de un SGBD específico.

jueves, 10 de diciembre de 2015

Metodologías de desarrollo ágil


Hemos estado describiendo las metodologías de desarrollo de software que han ido evolucionando a lo largo del tiempo. Cabría preguntarse:
• ¿Qué nuevas metodologías se están desarrollando?,
• ¿Siguen todas las metodologías los modelos tradicionales o están
apareciendo otras posibilidades?
Algunos desarrolladores creen que las metodologías tradicionales generan demasiada burocracia y
exigen demasiado esfuerzo, sobre todo para empresas de desarrollo pequeñas y en desarrollos de
proyectos pequeños. Por otro lado, el mercado competitivo actual de los productos tecnológicos, no sólo exige calidad, coste e innovación, sino también rapidez y flexibilidad. En este contexto, el mercado necesita ciclos de desarrollo más cortos.
Para solucionar estos problemas se han propuesto una serie de principios y valores que aligeren la
carga de las metodologías tradicionales. Con el desarrollo de estas ideas y conceptos han aparecido un nuevo tipo de metodologías que se denominan de desarrollo ágil. Sin embargo, algunos expertos
consideran que el desarrollo ágil no constituye realmente una nueva metodología, sino un conjunto
de recomendaciones y principios aplicables a las metodologías tradicionales para hacerlas más flexibles,rápidas y adaptables.
Las metodologías ágiles se basan en el trabajo en equipo y pretenden:
• Centrarse en el desarrollo y en satisfacer al cliente, es decir, producir un sistema con las
funcionalidades correctas. Esto significa que el sistema final tiene que incluir sólo el mínimo
número de características necesarias para satisfacer por completo al cliente real.
• Mejorar las predicciones y previsiones para cumplir plazos y ajustarse a los recursos.
• Eliminar riesgos tomando en consideración la incertidumbre.
• Disminuir costes, por ejemplo, deben eliminarse actividades relacionadas con algunos
productos intermedios, como documentos formales de especificaciones que no tienen una
relación directa con el resultado final del producto.
Metodologías para sistemas de tiempo real


Cuando viajamos en un avión sabemos que el piloto debe solicitar permiso para despegar o para conocer la ruta que debe seguir, o la altura de vuelo. Todo esto se lo indica un controlador de vuelo que se ayuda de un sistema informático. ¿Qué pasaría si hay muchos aviones en vuelo que saturan el sistema informático y el controlador aéreo tiene que esperar para dar una orden a dos aviones que intentan aterrizar al mismo tiempo en el mismo aeropuerto? Desde luego lo mejor es no estar en esos aviones. Un sistema informático que debe captar señales (en este caso del radar y de los sistemas de
comunicación de los aviones) sin perder ninguna y que debe contestar a las mismas antes de un
determinado momento, es un sistema de tiempo real. En estos sistemas la velocidad de respuesta es
fundamental porque el usuario, en este caso el controlador aéreo y el piloto, no pueden esperar.
No debemos confundir los sistemas de tiempo real con los sistemas interactivos, en los que hay que
responder lo más rápido posible al usuario pero no hay riesgo de perder señales o datos a la entrada, ni
un límite de tiempo en la respuesta.
• Por ejemplo, un sistema interactivo que controla las operaciones de venta en un supermercado
interesa que responda rápido, pero si tarda, el único problema es que hay que esperar. No
perderemos datos porque no habrá otra venta hasta que termine la anterior, y no hay un límite de
tiempo porque el cliente puede esperar. Esto es un inconveniente pero no un problema crítico
como un accidente aéreo.
• Otro ejemplo sería un sistema que controle las máquinas de una fábrica donde las tareas deben
sincronizarse perfectamente.
Para desarrollar estos sistemas será necesario disponer de metodologías de desarrollo del software que
permitan especificar este tipo de situaciones de tiempo real y las posibles soluciones. ¿Qué incluirán
estas metodologías? Deberán establecer mecanismos para modelar sistemas que:
• Controlen la comunicación y sincronización entre tareas.
• Gestionen los procesos concurrentes que se ejecutan en paralelo.
• Respondan ante eventos externos como puede ser una nueva señal.
• Reciban datos y señales continuas que no pueden perderse.
• Interrumpan los procesos para pasar a otra acción: por ejemplo al producirse una señal de
alarma.
Eurométodo

A lo largo de esta unidad hemos visto diferentes metodologías de desarrollo de software, que las
empresas y administraciones públicas pueden utilizar en función de sus intereses y necesidades. Cada
método aporta su estructura con unas particularidades determinadas. Cuando una empresa privada o un
organismo público pretenden adquirir un sistema de información informático debe establecerse una
buena colaboración y relación de entendimiento entre el proveedor y el cliente.
Uno de los principales obstáculos en la consecución de este mutuo entendimiento es la variedad de
metodologías de desarrollo existentes, cada una de ellas con sus conceptos y terminología propios y en
general, con un vocabulario procedente de la ingeniería del software, que no siempre es fácilmente
comprendido por usuarios, compradores, responsables de la contratación, etc. Ante una determinada
oferta de contratación pueden acudir distintos proveedores, y cada uno de ellos, puede ofrecer un análisis
realizado con una metodología distinta, lo cual dificulta la toma de decisión sobre la opción más
adecuada. ¿Habría alguna solución?
Ésa fue la pregunta que se hizo la Comisión Europea, es decir, ¿es posible establecer un marco común
para toda la Unión Europea de manera que clientes y desarrolladores puedan utilizar especificaciones
comunes?
Con esta idea se pensó en la elaboración de un
Eurométodo que en realidad no es una metodología de
desarrollo de software, sino un marco con el que pueden
guiarse desarrolladores y clientes tanto de empresas
privadas como administraciones públicas, para adquirir sistemas de información software con garantías.
Métrica


La propuesta del Ministerio de Administraciones Públicas fue el desarrollo de la metodología Métrica para que todas las organizaciones siguiesen el mismo modelo y unificasen los criterios para aportar homogeneidad y eficiencia a las aplicaciones informáticas. El ámbito original de aplicación fue la
administración general del estado español, pero puede ser utilizada por otras administraciones o empresas privadas. La primera versión es de 1989, la segunda versión apareció en 1993 y en el año 2001 apareció la tercera versión (Métrica V3).
¿Qué objetivos persigue la última versión de Métrica? Podemos indicar que los objetivos generales de
Métrica son:
• Satisfacer las necesidades de los usuarios dando una mayor importancia al análisis de
requisitos.
• Mejorar la productividad permitiendo una mayor capacidad de adaptación a los cambios y
teniendo en cuenta la reutilización en la medida de lo posible.
• Facilitar la comunicación entre todos los participantes en el desarrollo teniendo en cuenta su
papel y responsabilidad, así como las necesidades de todos y cada uno de ellos.
• Facilitar la operación, mantenimiento y uso de los productos software obtenidos.
• Utilizar las distintas tecnologías que actualmente están conviviendo y los aspectos de gestión que
aseguran que un proyecto cumple sus objetivos en términos de calidad, coste y plazos.
Hemos visto los objetivos que persigue, ¿cómo intenta alcanzar esos objetivos? Veamos las
características de Métrica con las que cumple con los objetivos marcados:
• Tiene en cuenta los métodos de desarrollo más extendidos, así como los últimos estándares
de ingeniería del software y calidad, además de referencias específicas en cuanto a seguridad y
gestión de proyectos. Cumple con el estándar propuesto por Eurométodo.
• En una única estructura, Métrica cubre el desarrollo estructurado (con un enfoque mixto
orientado a procesos, datos y eventos) y el desarrollo orientado a objetos (utiliza UML).
• La automatización de las actividades propuestas en la estructura de Métrica es posible ya que
sus técnicas están soportadas por una amplia variedad de herramientas CASE.
• Ha sido concebida para abarcar el desarrollo completo de sistemas sea cual sea su complejidad
y magnitud, por lo cual su estructura responde a desarrollos máximos y deberá adaptarse y
dimensionarse en cada momento de acuerdo a las características particulares de cada proyecto.
• Es una guía formal que descompone cada uno de los procesos en actividades, y éstas a su vez
en tareas. Para cada tarea se describe su contenido haciendo referencia a sus principales
acciones, productos, técnicas, prácticas y participantes.
• Aunque propone una secuencia de pasos, que podría identificarse con una estructura de
cascada, hace una propuesta flexible en la que deja libertad para escoger el orden de realización
de las actividades, pudiéndose realizar en paralelo.
• Puede ser utilizada libremente con la única restricción de citar la fuente de su propiedad
intelectual, es decir, el Ministerio de Administraciones Públicas de España.
SSADM

En 1980 el gobierno británico plantea la necesidad de crear una metodología para unificar y
estandarizar los proyectos de software de las distintas administraciones. Así se desarrolló, entre el
Central Computing and Telecommunications Agency (CCTA) y Learmonth and Burchett Management
Systems (LBMS), la metodología SSADM (Structures Systems Analysis and Design Method).
Veamos algunas de las características fundamentales de SSADM
que nos permitan acercarnos a esta metodología:
• Centrada en los usuarios, atendiendo a sus requisitos y su
participación.
• Define de forma clara el proceso de producción, dando
especificaciones acerca de qué hacer, cuándo y cómo.
• Utiliza tres puntos de vista, para orientarse a datos, eventos y procesos.
• Flexibilidad en herramientas y técnicas de implementación, proporcionando un conjunto de
procedimientos para llevar a cabo las distintas tareas del análisis y diseño.
Merise


El proyecto Merise nace en 1977 dentro del centro CTI (Centre Technique d’Information) perteneciente al
Ministerio de Industria Francés. Su objetivo era desarrollar una metodología de desarrollo del software
para cubrir las necesidades tanto de la empresa pública como de las empresas en general. En 1978 se
presentó su primera versión para el sector público, y fue en 1982 cuando el modelo se revisó y se
extendió a las empresas del sector privado. Merise puede ser utilizado para el desarrollo de todo tipo de
sistemas de información, desde aquellos que utilizan bases de datos hasta los que procesan eventos
en tiempo real, y pretende que los proyectos se completen con éxito dentro del costo y tiempos
planeados.
La metodología Merise aportó un ciclo de vida más largo que los existentes anteriormente con un
conjunto definido de etapas. Abarca los aspectos relacionados con:
• La recopilación y validación de la información.
• Capacitación de personal.
• Evaluación de equipos informáticos.
• Análisis, diseño y validación de los procesos.
• Implementación, gestión de costos y tiempos y el desarrollo del código.
Además del ciclo de vida mas largo, esta metodología introduce dos ciclos complementarios:
• El ciclo de abstracción, se basa en la percepción de tres niveles de abstracción (de lo más
abstracto a los más concreto): conceptual (finalidades generales de la empresa), organizativo
(descripción de la organización necesaria para alcanzar los objetivos) y físico (concreción de los
medios software y hardware necesarios). Los tres niveles se desarrollan simultáneamente.
• El ciclo de decisión. En cada etapa del ciclo de vida, cada vez se va bajando más en el nivel de
abstracción (según el ciclo de abstracción), y se toman decisiones, al principio de forma global, y
después de forma más detallada, conforme se va progresando en el trabajo.