Está en la página 1de 31

Materia Administración de Base de Datos

Materia: Administracion de Base de Datos

Campus: Guadalajara Sur

Carrera: DTI

pg. 1
Contents
1.Introducción a administración de bases de datos (ABD) ................................................................. 4
1.1 Importancia de los análisis cuantitativos y cualitativo ............................................................... 4
1.2 Que es el análisis de datos. ...................................................................................................... 4
1.3 Enfoque cuantitativo y cualitativo. ............................................................................................. 4
2. Arquitectura de la administración de base de datos ..................................................................... 5
2.1 Modelo de proceso .................................................................................................................... 5
2.2 Componentes de un modelo, arquitectura, actividad, métodos, estrategia, herramientas ....... 6
2.3 Metodologías ............................................................................................................................. 7
3. Organización interna de los datos ............................................................................................... 8
3.1 La información en las empresas ............................................................................................... 8
3.2 Categorías en la calidad de la información ............................................................................... 9
3.3 Datos en entorno de certidumbre e Incertidumbre.................................................................... 9
3.4 La gestión de la Información interna ......................................................................................... 9
4. Operación y mantenimiento ...................................................................................................... 11
4.1 Herramientas CASE (computer aided software engineering) ................................................. 11
4.2 Editores de texto ..................................................................................................................... 11
4.3 Diagramadores ........................................................................................................................ 12
5. Seguridad e integridad .............................................................................................................. 13
5.1 Especificación de requisitos y controles ................................................................................. 13
5.2 Análisis .................................................................................................................................... 15
5.3 Diseño ..................................................................................................................................... 15
5.4 Implantación ............................................................................................................................ 16
5.5 Pruebas ................................................................................................................................... 17
5.6 Integración de claves de seguridad ........................................................................................ 18
6. Recuperación, concurrencia, confiabilidad y privacidad de los datos ...................................... 20
6.1 Delitos informáticos ................................................................................................................. 20
6.2 Legislación informática en México .......................................................................................... 21
6.3 Iniciativa de Ley Federal de Protección de datos personales................................................. 21
7. Procesamiento en bases de datos para múltiples usuarios...................................................... 23
7.1 Modelo de Madurez de Capacidades (CMM) ......................................................................... 25
7.2 Evaluar los procesos en sus niveles de madurez ................................................................... 27
7.3 Evaluación en área de proceso clave ..................................................................................... 28
7.4 Niveles ..................................................................................................................................... 28
7.6 Repetible ................................................................................................................................. 28

pg. 2
7.7 Definido ................................................................................................................................... 29
7.8 Administrado............................................................................................................................ 30
7.9 Optimizado .............................................................................................................................. 30

pg. 3
1.Introducción a administración de bases de datos (ABD)

Toda organización que maneja grandes volúmenes de datos requiere un sistema de gestión de
base de datos (DBMS). La persona o grupo de personas encargadas de administrar, supervisar y
asegurar el adecuado uso de los datos dentro de un DBMS son los DBA1. Estos sistemas manejan
grandes volúmenes de datos de una manera eficiente, permitiendo así disponer de una
herramienta para la toma de decisiones de negocios. El debe entender las reglas básicas de la
tecnología de base de datos relacional y ser capaz de comunicarlos con precisión a los demás. Un
DBA debe ser un profesional experto en la recopilación y análisis de las necesidades del usuario
para obtener modelos de datos conceptuales y lógicos.

1.1 Importancia de los análisis cuantitativos y cualitativo

Se investiga a fondo para una adecuada realización y presentación del tema a tratar.
Entendiendo de manera adecuada estos enfoques se podrá utilizarlos para
realizar de manera ordenada los pasos de los enfoques cuantitativos y cualitativos para
una posible aportación a la ciencia.
Toda investigación científica tiene por objeto descubrir algo. Aquí podrían
formarse de manera rudimentaria dos categorías, descubrir que pasa y descubrir con
que probabilidades sucederá algún fenómeno.
La investigación es muy útil para distintos fines, crear nuevos sistemas y productos; resolver
problemas económicos y sociales; ubicar mercados, diseñar soluciones y hasta evaluar si hemos
hecho algo correctamente o no.
Cuanta más investigación se genere, más progreso existe; ya se trate de un bloque de naciones,
un país, una región, una ciudad, una comunidad, una empresa, un grupo o un individuo.

1.2 Que es el análisis de datos.

El análisis de datos es un proceso que consiste en inspeccionar, limpiar y transformar datos con el
objetivo de resaltar información útil, lo que sugiere conclusiones, y apoyo en la toma de decisiones.
Los datos se coleccionan y la analizan para preguntar cuestiones, probar conjeturas o probar la
invalidez de teorías.

1.3 Enfoque cuantitativo y cualitativo.

ENFOQUE CUANTITATIVO
El enfoque cuantitativo es secuencial y probatorio. Cada etapa precede a la
siguiente y no podemos eludir pasos, el orden es riguroso, aunque, desde luego,
podemos redefinir alguna fase. Parte de una idea, que va acotándose y, una vez
delimitada, se derivan objetivos y preguntas de investigación, se revisa la literatura y se
construye un marco o una perspectiva teórica. De las preguntas se establecen hipótesis
y determinan variables; se desarrolla un plan para probarlas; se miden las variables en
un determinado contexto; se analizan las mediciones obtenidas (métodos estadísticos),
y se establece una serie de conclusiones respecto de la o las hipótesis

ENFOQUE CUALITATIVO
Este enfoque también se guía por áreas o temas significativos de investigación.
Sin embargo, en lugar de que la claridad sobre las preguntas de investigación e
hipótesis precede a la recolección y el análisis de los datos, los estudios cualitativos
pueden desarrollar preguntas de investigación e hipótesis antes, durante o después de
la recolección y el análisis de los datos.

pg. 4
2. Arquitectura de la administración de base de datos

Existen tres características importantes, inherentes a los sistemas de bases de datos:


La separación entre los programas de aplicación y los datos.
El manejo de múltiples vistas por parte de los usuarios.
El uso de un catálogo para almacenar el esquema de la base de datos.
La arquitectura de tres niveles para los Sistemas de Gestión de Base de Datos, cuyo objetivo
principal era el de separar los programas de aplicación de la Base de datos física.

Nivel interno o físico: describe la estructura física de la base de datos mediante un esquema
interno. Este esquema se especifica con un modelo físico y describe los detalles de cómo se
almacenan físicamente los datos: los archivos que contienen la información, su organización, los
métodos de acceso a los registros, los tipos de registros, la longitud, los campos que los
componen, etc.

Nivel externo o de visión: es el más cercano al usuario, se describen varios esquemas externos o
vistas de estos. Cada esquema externo describe la parte de la base de datos que interesa a un
grupo de usuarios determinado y oculta a ese grupo el resto de la base de datos. En este nivel se
puede utilizar un modelo conceptual o un modelo lógico para especificar los esquemas.

Nivel conceptual: describe la estructura de toda la base de datos para un grupo determinado de
usuarios mediante un esquema conceptual. Este esquema describe las entidades, atributos,
relaciones, operaciones de los usuarios y restricciones, ocultando los detalles de las estructuras
físicas de almacenamiento.

Hay que destacar que los tres esquemas son sólo descripciones de los mismos datos tratados,
pero con distintos niveles de abstracción. Los únicos datos que existen realmente están a nivel
físico, en un dispositivo de almacenamiento no volátil. En un Sistema Gestor de Base de Datos
basado en la arquitectura que estamos viendo, cada grupo de usuarios hace referencia
exclusivamente a su propio esquema externo.

2.1 Modelo de proceso

Un modelo de procesos es una expresión abstracta de los procesos principales de una


organización. Existen tres tipos de mapas de procesos, el primero de ellos es el llamado Modelo de
Procesos que ya hemos sugerido líneas arriba y que usualmente se corresponde fácilmente con
modelos de negocio.

El segundo tipo de modelo de procesos es aquel que muestra las relaciones que se establecen
entre los procesos, dentro de una organización y define los servicios que un proceso entrega a otro
para obtener un bien, un servicio o información, este mapa es útil para identificar que niveles de
servicio debe dar cada área a la organización.

En tercer lugar, están los modelos o mapas de procesos de tercer nivel que muestran las
secuencias lógicas de actividades que se llevan a cabo entre una o varias áreas de la organización
para la entrega de un bien o un servicio, estas secuencias enlazan normatividad, recursos e
información. Estos procesos o mapas de procesos de tercer nivel pueden documentarse y
constituir la base para los manuales de organización de algunas empresas que han decidido
mejorarse y cambiar de administraciones funcionales hacia una administración basada en

pg. 5
procesos. Los procesos de tercer nivel tienen un solo responsable, por lo general estos procesos
comienzan por una solicitud y terminan con la entrega de un bien o un servicio.

Cuando un proceso es modelado, con ayuda de una representación gráfica (diagrama de proceso),
pueden apreciarse con facilidad las interrelaciones existentes entre distintas actividades, analizar
cada actividad, definir los puntos de contacto con otros procesos, así como identificar los
subprocesos comprendidos. El modelado de procesos va relacionado a la planificación del modelo
de negocio.

2.2 Componentes de un modelo, arquitectura, actividad, métodos, estrategia, herramientas

Toda arquitectura de software debe describir diversos aspectos del software. Generalmente, cada
uno de estos aspectos se describe de una manera más comprensible si se utilizan distintos
modelos o vistas. Es importante destacar que cada uno de ellos constituye una descripción parcial
de una misma arquitectura y es deseable que exista cierto solapamiento entre ellos. Esto es así
porque todas las vistas deben ser coherentes entre sí, evidente dado que describen la misma cosa.

Cada paradigma de desarrollo exige diferente número y tipo de vistas o modelos para describir una
arquitectura. No obstante, existen al menos tres vistas absolutamente fundamentales en cualquier
arquitectura:
La visión estática: describe qué componentes tiene la arquitectura.
La visión funcional: describe qué hace cada componente.
La visión dinámica: describe cómo se comportan los componentes a lo largo del tiempo y como
interactúan entre sí.
Las vistas o modelos de una arquitectura de software pueden expresarse mediante uno o varios
lenguajes. El más obvio es el lenguaje natural, pero existen otros lenguajes tales como los
diagramas de estado, los diagramas de flujo de datos, etc. Estos lenguajes son apropiados
únicamente para un modelo o vista. Afortunadamente existe cierto consenso en adoptar UML
(Unified Modeling Language, lenguaje unificado de modelado) como lenguaje único para todos los
modelos o vistas. Sin embargo, un lenguaje generalista corre el peligro de no ser capaz de
describir determinadas restricciones de un sistema de información (o expresarlas de manera
incomprensible).

Así, las arquitecturas más universales son:


Descomposición Modular. Donde el software se estructura en grupos funcionales muy acoplados.
Cliente-servidor. Donde el software reparte su carga de cómputo en dos partes independientes,
pero sin reparto claro de funciones.
Arquitectura de tres niveles. Especialización de la arquitectura cliente-servidor donde la carga se
divide en tres partes (o capas) con un reparto claro de funciones: una capa para la presentación
(interfaz de usuario), otra para el cálculo (donde se encuentra modelado el negocio) y otra para el
almacenamiento (persistencia). Una capa solamente tiene relación con la siguiente.

Otras arquitecturas menos conocidas son:


Modelo Vista Controlador.
En pipeline.
Entre pares.
En pizarra.
Orientada a servicios (SOA del inglés Service-Oriented Architecture).
Arquitectura de microservicios (MSA del inglés MicroServices Architecture). Algunos consideran
que es una especialización de una forma de implementar SOA.
Dirigida por eventos.
Máquinas virtuales

pg. 6
2.3 Metodologías

 Mejora de los procesos empresariales


 Mejora de la relación con el cliente
 Mejora en la toma de decisiones.

pg. 7

3. Organización interna de los datos

Las tablas RDBMS se organizan como otras tablas que tú ya debes conocer, es decir, en filas y
columnas. El lugar donde una fila y una columna se cruzan es llamado campo. El enfoque de cada
tabla es un objeto (una cosa) sobre la cual quieres almacenar información. Algunos ejemplos de
objetos son: clientes, productos, libros, proyectos, etc. Debes crear una tabla para cada objeto y el
nombre de la tabla debe identificar claramente los objetos que contiene con una palabra o término
descriptivo. El nombre debe ser una cadena de caracteres, que contenga letras, números, signos
de subrayado, o símbolos, sin espacios entre sí. Lo usual es que se le bautice con una palabra en
singular, por ejemplo, “cliente” y una tabla que contenga órdenes de clientes se deberá llamar
“orden cliente”.
En lenguaje de base de datos un objeto es una entidad y una entidad tiene atributos. En una tabla
cada fila representa una entidad, y las columnas contienen los atributos de cada entidad. Por
ejemplo, en una tabla de clientes, cada fila contiene información para un solo cliente. Algunos de
los atributos contenidos en las columnas podrían ser el nombre, apellido, número de teléfono, y la
edad. Los pasos para organizar los datos en tu tabla son los siguientes:
1. Dale un nombre a tu tabla, para ellos sigue los consejos que te acabamos de dar.
2. Identifica los objetos, observa el listado de información que quieres alojar en la base de datos,
analízala e identifica esos objetos. Nombre, dirección, edad, RUT, pueden ser algunos de esos
objetos.
3. Identifica y crea una tabla distinta según tus objetos. Puede que sea mejor separar la
información de contacto de la información personal en distintas bases de datos.
4. Identifica los atributos para cada objeto; separa la información que se almacena lo que más te
sea posible. Por ejemplo, si almacenas nombres de personas en una tabla, puede separar el
nombre en primer nombre y apellido. Hacer esto te permitirá ordenar por el apellido, lo que será
más útil de si llegaran a estar juntas.
5. Define y nombra columnas por cada atributo que identificaste en el paso anterior. Da a cada
columna un nombre que identifique claramente la información que contiene. Los nombres de
columna deben ser una sola palabra, sin espacios. Por ejemplo, PrimerNombre ó primer_nombre.
Algunas palabras están reservadas por MySQL y SQL para su propio uso y no se puede utilizar
como nombres de columna. Algunas de las palabras que se utilizan actualmente en SQL o se
reservan para uso futuro, son ADD, ALL, AND, CREATE, DROP, GROUP, ORDER, RETURN,
SELECT, SET, TABLE, USE, WHERE, y muchos otras que no se puede utilizar como nombres de
columna.
6. Identificar la clave principal. Cada fila de una tabla necesita un identificador único. Ninguna fila
de una tabla debe ser exactamente igual a otra. Al diseñar tu tabla, tú decides qué columna tiene el
identificador único, llamado la clave principal.
7. Definir los valores predeterminados. Puede definir un valor predeterminado que MySQL asignará
a un campo cuando no hay datos introducidos en él. Por ejemplo, si tu aplicación almacena una
dirección que incluye un país, puedes especificar, Chile como el predeterminado. Si el usuario no
escribe un país, Chile será automáticamente ingresado.
8. Identificar las columnas que requieren datos. Puedes especificar que a ciertas columnas no se
les permite estar vacías (también llamado NULL). Por ejemplo, la columna que contiene la clave
primaria no puede estar vacío. Eso significa que MySQL no creará la fila y devolverá un mensaje
de error. El valor puede ser un espacio en blanco o una cadena vacía (por ejemplo, “”).

3.1 La información en las empresas

La información es un recurso vital para toda organización, y el buen uso de ésta puede significar la
diferencia entre el éxito o el fracaso para una empresa. El éxito de una organización ya no

pg. 8
depende sólo de la manera en que cada persona maneja sus recursos materiales, sino que es más
importante el buen aprovechamiento de los activos intangibles tales como el know-how (hacer
como), el conocimiento de cliente y de mercado, etc.

Para que la información cumpla con sus objetivos es necesario que posea ciertas características:
- Debe ser relevante: tiene que ser importante y la que necesitamos.
- Debe estar actualizada: debe utilizarse en el momento de ser generada.
- Debe ser comparable: que permita ser confrontada con datos similares.
- Debe ser confiable: debe permitir que los usuarios puedan depender de ella al tomar sus
decisiones.
- Debe ser económica: debe ser más barata la obtención que la ganancia de su explotación
- Debe ser rápida: el acceso a la información debe realizarse de forma rápida y sencilla.
- Debe ser de calidad: es importante que la información carezca de errores y sea completa.
- Debe ser objetiva: no cabe opción a subjetividades.
- Debe ser completa: el tener la información incompleta es peor que no tener nada.
- Debe ser aplicable: la información debe ser adecuada para la toma de una decisión,
además de ser importante y pertinente.

Los sistemas de información empresariales son una necesidad hoy en día, ya que las empresas
manejan grandes cantidades de datos los cuales pueden ser analizados, de tal manera que se
pueda encontrar la información relevante para tomar diferentes decisiones. Además, los sistemas
de información aseguran que la información se comparta con todos los usuarios que necesiten
utilizarla.

3.2 Categorías en la calidad de la información

La disponibilidad, accesibilidad, seguridad


La presentación, representación concisa y constante
El contextual, relevancia, valor agregado, actualidad, cantidad
Lo intrínseco, precisión, credibilidad, reputación

3.3 Datos en entorno de certidumbre e Incertidumbre

La situación de incertidumbre. implica que las personas tienen una base de datos muy
deficiente, no saben si estos son o no confiables, y tienen mucha inseguridad sobre los posibles
cambios que pueden sufrir la situación, Mas aún, no pueden evaluar las interacciones de las
diferentes variables, la condición bajo la cual resulta más difícil tomar decisiones; es la
incertidumbre, pues en esta situación los responsables no cuentan con información suficiente para
tener en claro las alternativas o estimar su riesgo. Se basan ya sean en intuición o creatividad.

Certidumbre se puede interpretar como bajo riesgo, La precisión se refiere al grado en que un valor
medido se aproxima a un valor real. En tanto que la exactitud se refiere a la proximidad entre un
valor medido y un valor verdadero del mensurando. La precisión se puede entender en dos
contextos: (1) como medida de la dispersión de los valores medidos en torno al valor medio de ese
grupo de mediciones; o (2) la resolución de los datos (es decir, la menor diferencia de medición
que se puede registrar con ese método o herramienta de medición en particular).

3.4 La gestión de la Información interna

función de descripción o definición

pg. 9
Permite al diseñador de la base de datos crear las estructuras apropiadas para integrar
adecuadamente los datos. Se dice que esta función es la que permite definir las tres estructuras de
la base de datos (relacionadas con los tres niveles de abstracción de estas).

Estructura interna
Estructura conceptual
Estructura externa
Más adelante se explican estas tres estructuras, relacionadas con las tres formas (o niveles) de ver
la base de datos.

Realmente la función de definición lo que hace es gestionar los metadatos. Los metadatos son la
estructura de la dispone el sistema de base de datos para documentar cada dato. Los metadatos
también son datos que se almacenan en la propia base de datos; pero su finalidad es describir los
datos.

Un metadato nos permite para saber a qué información real se refiere cada dato. Por ejemplo:
Sánchez, Rodríguez y Crespo son datos. Pero Primer Apellido es un metadato que, si está
correctamente creado, nos permite determinar que Sánchez, Rodríguez y Crespo son primeros
apellidos.

Dicho de otra forma, sin los metadatos, no podríamos manejar los datos como información
relevante. Por ello son fundamentales. Son, de hecho, la base de la creación de las bases de
datos. Por lo tanto, en realidad, la función de definición sirve para crear, eliminar o modificar
metadatos.

Resumiendo: con la función de definición podremos:

Especificar el significado de los datos


Organizar la información en estructuras más complejas
Relacionar los datos de forma precisa
Especificar reglas especiales que deben cumplir los datos
Crear todos los elementos estructurales de la base de datos (incluidos los usuarios)
Un lenguaje conocido como lenguaje de descripción de datos o DDL, es el que permite realizar la
función de definición en las bases de datos.

función de manipulación
Permite cambiar y consultar los datos de la base de datos. Se realiza mediante un lenguaje de
modificación de datos o DML. Mediante este lenguaje se puede:

Añadir datos
Eliminar datos
Modificar datos
Consultar datos
Actualmente se suele diferenciar la función de consulta de datos, diferenciándola del resto de
operaciones de manipulación de datos. Se habla de que la función de consulta se realiza con un
lenguaje de consulta de datos o DQL (Data Query Language).

Función de control
Mediante esta función los administradores poseen mecanismos para proteger los datos. De
manera que se permite a cada usuario ver ciertos datos y otros no, o bien usar ciertos recursos
concretos de la base de datos y prohibir otros. Es decir, es la función encargada de establecer los
permisos de acceso a los elementos que forman parte de la base de datos.

pg. 10
4. Operación y mantenimiento

4.1 Herramientas CASE (computer aided software engineering)

Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida
por Computadora) son diversas aplicaciones informáticas o programas informáticos destinadas a
aumentar el balance en el desarrollo de software reduciendo el costo de estas en términos de
tiempo y de dinero.

Estas herramientas pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del
software en tareas como el proceso de realizar un diseño del proyecto, cálculo de costos,
implementación de parte del código automáticamente con el diseño dado, compilación automática,
documentación o detección de errores entre otras.

Objetivos
 Mejorar la productividad del software.
 Aumentar la calidad del software.
 Reducir el tiempo y costo de desarrollo y mantenimiento de los sistemas informáticos.
 Mejorar la planificación de un proyecto.
 Aumentar la biblioteca de conocimiento informático de una empresa ayudando a la
búsqueda de soluciones para los requisitos.
 Automatizar el desarrollo del software, la documentación, la generación de código, las
pruebas de errores y la gestión del proyecto.
 Ayuda a la reutilización del software, portabilidad y estandarización de la documentación.
 Gestión global en todas las fases de desarrollo de software con una misma herramienta.
 Facilitar el uso de las distintas metodologías propias de la ingeniería del software.

4.2 Editores de texto

Un editor de texto es un programa informático que permite crear y modificar archivos digitales
compuestos únicamente por textos sin formato, conocidos comúnmente como archivos de texto o
“texto plano”. El programa lee el archivo e interpreta los bytes leídos según el código de caracteres
que usa el editor. Es comúnmente de 7- u 8-bits en ASCII o UTF-8, rara vez EBCDIC.

Por ejemplo, un editor ASCII de 8 bits que lee el número binario 0110 0001 (decimal 97 o
hexadecimal 61) en el archivo lo representará en la pantalla por la figura a, que el usuario reconoce
como la letra "a" y ofrecerá al usuario las funciones necesarias para cambiar el número binario en
el archivo.

Los editores de texto son incluidos en el sistema operativo o en algún paquete de software
instalado, y se usan cuando se deben crear o modificar archivos de texto como archivos de
configuración, lenguaje de programación interpretado (scripts) o el código fuente de algún
programa.

El archivo creado por un editor de texto incluye por convención en DOS y Microsoft Windows la
extensión ".txt", aunque pueda ser cambiada a cualquier otra con posterioridad. Tanto Unix como
Linux dan al usuario total libertad en la denominación de sus archivos.

pg. 11
4.3 Diagramadores

Maquetación y hace referencia a la parte visual de una impresión, lo que es el proceso reunir
armónicamente textos e imágenes para que puedan ser apreciadas y entendidas por el lector.
Depende de la diagramación el que sea fácil el entendimiento del producto final, debe tener un
cuerpo proporcionada, imágenes comprensibles y debe concordar con el texto e información que
debe entregarse, de esto se encargan los diseñadores gráficos que siguen las directrices dadas
por el diseñador en jefe que es quien da la unida visual estilística del producto.
Se debe tomar en cuenta la caja tipográfica, la paginación, el cabezote, los títulos, los subtítulos, la
fuente (letra) y su tamaño, los espacios, las gráficas, las fotos, las ilustraciones y la fecha del
periódico, generalmente hace uso de plantillas para facilitar el trabajo y para mantener una unidad
visual y de estilo en todas y cada una de sus ediciones, lo más importante es que el producto sea
llamativo a primera vista.

pg. 12
5. Seguridad e integridad

La seguridad de la información se ocupa de proteger la confidencialidad, disponibilidad e integridad


en base de datos de todos los activos de conocimiento de la organización. La forma de lograrlo
tiene que ver con:

Confidencialidad: se trata del aspecto más importante de la seguridad de base de datos. Este
objetivo se alcanza a través de La encriptación ha de aplicarse a datos en reposo, pero también a
los datos que, por un motivo u otro, se encuentren en tránsito.
Integridad en base de datos: busca garantizar que sólo las personas autorizadas a ello podrán
acceder a información privilegiada de la empresa. La integridad de una base de datos se aplica a
través de protocolos de autenticación, políticas internas (como las que impulsan la seguridad de las
contraseñas) y un sistema de control de acceso de usuario que define los permisos que
determinan quién puede acceder a qué datos. Tampoco puede olvidarse el tomar medidas que
ayuden a conseguir que las cuentas no utilizadas queden bloqueadas o sean eliminadas.
Disponibilidad: hace referencia a la necesidad de que las bases de datos y toda la información
que contienen estén listas para su uso. Por una parte, se debe garantizar su funcionalidad y
confiabilidad mientras que, por otra, es recomendable planificar los tiempos de inactividad fuera del
horario laboral.
Garantizar la integridad en base de datos, así como su disponibilidad y confiabilidad es
determinante para el buen funcionamiento del negocio. Sin embargo, la amenaza no da tregua y, a
día de hoy, los ataques se multiplican, tanto en frecuencia, como en objetivo. Los piratas
informáticos ya no codician sólo los activos informacionales de las grandes corporaciones
multinacionales, sino que tienen en su punto de mira a todo tipo de empresas, independientemente
de su tamaño, propósito o industria.

5.1 Especificación de requisitos y controles

Objetivo de la Especificación de Requisitos del Sistema


El objetivo principal de la Especificación de Requisitos del Sistema (ERS) es servir como medio de
comunicación entre clientes, usuarios, ingenieros de requisitos y desarrolladores. En la ERS deben
recogerse tanto las necesidades de clientes y usuarios (necesidades del negocio, también
conocidas como requisitos de usuario, requisitos de cliente, necesidades de usuario, etc.) como los
requisitos que debe cumplir el sistema software a desarrollar para satisfacer dichas necesidades
(requisitos del producto, también conocidos como requisitos de sistema o requisitos software).

La ERS debe ser un documento consensuado entre todas las partes y tener un carácter
contractual, de forma que cualquier cambio que se desee realizar en él una vez acordada la
primera línea base deba aplicarse siguiendo el Procedimiento de Control de Cambios establecido
en el proyecto.

Estructura básica y dependencias externas


La ERS es el principal producto del proceso de Ingeniería de Requisitos junto con los modelos
conceptuales que se incluyen en el Análisis del Sistema (DAS). Aunque existen diversas
propuestas sobre su contenido y el número de documentos en los que puede dividirse, en el
contexto de MADEJA se asumirá que la ERS es un documento que contiene tanto las necesidades
de negocio de clientes y usuarios, como la propuesta de solución de los ingenieros de requisitos
(requisitos del sistema a desarrollar, o requisitos de producto en terminología de CMMI-DEV).
Algunos conceptos son:

Portada

pg. 13
La portada de la ERS, independientemente de la maquetación concreta, debe incluir los siguientes
elementos:

Nombre del documento: Especificación de Requisitos del Sistema


Nombre del proyecto: el nombre del proyecto en el que se desarrolla la ERS.
Versión: versión de la ERS según la numeración de versiones que indique la Gestión de la
Configuración del proyecto. Lo habitual es que la versión se componga de dos números. El primero
indica el número de la línea base, que debe ser cero mientras no se haya entregado la primera
línea base y que se debe incrementar con cada nueva línea base que se vaya entregando
formalmente. El segundo número, que debe ponerse a cero cada vez que se incremente el
primero, indica cambios dentro una línea base aún no entregada. En otras palabras, la primera
línea base será la versión 1.0 del documento, la segunda línea base la 2.0 y así sucesivamente.
Una versión como la 2.5 será la quinta versión intermedia a partir de la segunda línea base.
Fecha: fecha de la publicación de la versión.
Desarrollado por: nombre de la empresa o equipo de desarrollo de la ERS.
Desarrollado para: nombre del cliente, normalmente alguna consejería o servicio de la Junta de
Andalucía o algún otro organismo dependiente de ésta.
Lista de control de cambios

Aunque la mayoría de las herramientas de Gestión de la Configuración permiten auditar los


cambios que se van realizando sobre los productos que están bajo control de configuración, puede
ser necesario incluir una lista de los cambios introducidos en el documento entre entrega y entrega
de línea base. En ese caso, el documento incorporará una Lista de Control de Cambios que debe
especificar, para cada versión del documento posterior a la 1.0, los cambios producidos en el
mismo ordenados por fecha. Para cada cambio se indicará: el número de orden, la fecha, una
descripción y los autores del cambio.

Índice

El índice de la ERS debe indicar la página en la que comienza cada sección, subsección o
apartado del documento. En la medida de lo posible, se sangrarán las entradas del índice para
ayudar a comprender la estructura del documento. En el caso de documentos electrónicos, cada
entrada podrá ser un hiperenlace al apartado correspondiente.

Listas de tablas y figuras

La ERS deberá incluir listas de las figuras y tablas que aparezcan en la misma. Dichas listas serán
dos índices que indicarán el número, la descripción y la página en que aparece cada figura o tabla
de la ERS. Al igual que en el índice general, en el caso de documentos electrónicos, cada entrada
podrá ser un hiperenlace a la tabla o figura correspondiente.
5.2 Análisis
Se trata pues de saber, de los muchos parámetros implicados en la determinación tanto
del coste como del plazo de ejecución de un túnel mecanizado cuales tienen un mayor
impacto en el desarrollo de la obra, cuál es su comportamiento al variar sus valores, y
cuales, en definitiva, tienen significación suficiente como para sustentar el modelo que
se desea crear.
Merece la pena destacar que la base de datos no es sino una herramienta dinámica
que ayuda en el desarrollo del modelo pero que éste, como se verá más adelante,
resulta sólido en sí mismo. Sí es cierto no obstante que cuanto mayor sea el volumen
que componga la base de datos mayor será la precisión del resultado final y, por tanto
sería aconsejable que a medida que se dispongan de más datos se añadan a los
actualmente disponibles.

pg. 14
5.2 Análisis

Debemos comenzar estudiando a fondo el mundo real que deseamos representar en la aplicación
base de datos. A partir de este estudio, debemos crear el UD, que es simplemente la visión del
mundo real bajo unos determinados objetivos.

Modelo entidad / relación (E/R)

El diseñador debe concebir la base de datos en un nivel superior, abstrayéndose de cualquier


consideración técnica o de implementación en sistema, plataforma o aplicación. Para ello puede
contar con la ayuda de un modelo de datos como el E/R, presentado por Peter P. Chen. Con él
podrá centrarse en la estructura lógica y abstracta de la información, siendo capaz de representar
toda la semántica del mundo real por medio de entidades y relaciones.

Modelo relacional

El diseñador debe transformar el modelo E/R en el modelo relacional, teniendo muy en cuenta la
teoría de la normalización. Esta es una operación de cierta complejidad. El modelo relacional,
presentado por el Dr. E.F.Codd, fue revolucionario puesto que consigue la independencia de las
aplicaciones respecto a los datos. Este modelo de datos está basado en las teorías matemáticas
de las relaciones, haciendo que los datos se estructuren lógicamente en forma de relaciones -
tablas. Presenta beneficios como:

Sencillez y uniformidad: Al tener como resultado una colección de tablas, y serla tabla la estructura
básica se da como resultado una gran uniformidad, junto con la sencillez de los lenguajes de
usuario que pueden operar con ellas.

Flexibilidad: Ofreciendo a los usuarios los datos de la forma más adecuada a su aplicación.

Independencia del interfaz de usuario: El modo en el que se almacena los datos no influye en su
manipulación lógica

5.3 Diseño

Diseño de Bases de Datos

Son muchas las consideraciones a tomar en cuenta al momento de hacer el diseño de la base de
datos, quizá las más fuertes sean:

La velocidad de acceso,
El tamaño de la información,
El tipo de la información,
Facilidad de acceso a la información,
Facilidad para extraer la información requerida,
El comportamiento del manejador de bases de datos con cada tipo de información.
No obstante que pueden desarrollarse sistemas de procesamiento de archivo e incluso
manejadores de bases de datos basándose en la experiencia del equipo de desarrollo de software
logrando resultados altamente aceptables, siempre es recomendable la utilización de determinados
estándares de diseño que garantizan el nivel de eficiencia más alto en lo que se refiere a
almacenamiento y recuperación de la información.

pg. 15
De igual manera se obtiene modelos que optimizan el aprovechamiento secundario y la sencillez y
flexibilidad en las consultas que pueden proporcionarse al usuario.

OBJETIVOS DEL DISEÑO DE BASES DE DATOS

5.4 Implantación

Antes de crear una base de datos, debe decidir qué tipo de modelo de datos desea utilizar para
diseñar la base de datos. Se describen los siguientes modelos de bases de datos:
Modelo de datos relacionales
- Este modelo de datos tipifica el diseño de bases de datos para el proceso de transacciones
en línea (OLTP). El objetivo de OLTP es procesar un gran número de pequeñas
transacciones sin perder ninguna de ellas. Una base de datos OLTP está diseñada para
manejar los requisitos diarios de una empresa y el rendimiento de la base de datos se
ajusta para dichos requisitos. La Conceptos básicos del diseño y de la implementación de
bases de datos de este manual describe cómo crear e implementar un modelo de datos
relacionales para OLTP. La Gestión de bases de datos describe cómo gestionar las bases
de datos.
Modelo de datos relacionales de objeto
- Informix Dynamic Server soporta bases de datos relacionales de objeto que emplean
principios básicos de diseño relacional, pero incluyen características como tipos de datos
ampliados, rutinas definidas por el usuario, conversiones definidas por el usuario y
agregados definidos por el usuario para ampliar la funcionalidad de las bases de datos
relacionales.
Modelos de datos dimensionales
- Este modelo de datos se suele utilizar para crear almacenes de datos, que constituyen un
tipo de depósito de datos. En un entorno de depósito de datos, las bases de datos se
optimizan para la recuperación de datos y su análisis. Este tipo de proceso de información
se conoce como proceso analítico en línea (OLAP) o proceso de soporte de decisiones. La
Bases de datos dimensionales de este manual describe cómo crear e implementar un
modelo de datos dimensional para OLAP.

Es posible que desee crear una base de datos compatible con ANSI por los siguientes motivos:
Privilegios y acceso a objetos
- Las reglas ANSI controlan los privilegios y el acceso a objetos como tablas y sinónimos.

pg. 16
Aislamiento de nombres
- El esquema de nomenclatura de tablas ANSI permite que distintos usuarios creen tablas
en una base de datos sin que se produzcan conflictos entre los nombres.

Global Language Support (GLS) le permite utilizar diferentes entornos locales. Un entorno local
GLS es un entorno que tiene convenios definidos para un determinado idioma o cultura.

Una vez que se tenga decidido el tipo de base de datos se evalúa el servidor o maquina donde
estará instalado para su uso.

5.5 Pruebas

Pruebas de integridad de base de datos son pruebas de los métodos y procesos utilizados para
acceder y gestionar datos (base de datos), para asegurar que los métodos de acceso, los procesos
y las reglas de los datos funcionan como se espera y que, durante el acceso a la base de datos,
los datos no se corrompan, sean borrados, modificados o creados de forma inesperada.

¿Qué se debe probar en una base de datos?


1) Mapeo de datos en una base de datos:
Se debe asegurar que sin importar la parte visual (front-end) que se encuentre la aplicación, todas
las operaciones CRUD, deben de funcionar correctamente.

2) Propiedades ACID en una base de datos:


Las propiedades ACID de una base de datos se refieren a la “atomicidad”, “consistencia”,
“aislamiento” y “durabilidad”. Las pruebas adecuadas de estas cuatro propiedades en una base de
datos se deben realizar durante la actividad de pruebas.

3) Asegurar la integridad de los datos:

pg. 17
Ten en cuenta que los diferentes módulos de una aplicación (pantallas, es decir, o formularios)
usan los mismos datos de diferentes “vistas” y realizan todas las operaciones CRUD sobre los
datos que obtienen. En ese caso, que sea seguro que el último estado de los datos se refleja en
todas partes. El sistema debe mostrar los valores actualizados y más recientes o el estado de
dichos datos compartidos en todos los formularios y las vistas. A esto se llama la integridad de
datos.

4) Asegurar la exactitud de las reglas comerciales implementados:


Hoy en día, las bases de datos no están destinadas sólo para almacenar los registros. De hecho,
las bases de datos se han convertido en herramientas muy potentes que proporcionan un amplio
soporte a los desarrolladores con el fin de implementar la lógica de negocio a nivel de base de
datos. Algunos ejemplos simples de características de gran alcance de las bases de datos son la
‘integridad referencial’, restricciones relacionales, triggers y procedimientos almacenados. Por lo
tanto, el uso de estas y muchas otras características ofrecidas por las bases de datos, los
desarrolladores implementan la lógica de negocio en el nivel de base de datos

5.6 Integración de claves de seguridad

CUMPLIMIENTO DE NORMAS
Muchas de las normas de cumplimiento están relacionadas con problemas a los que todas las
empresas deben prestar atención. El cumplimiento es una parte de la seguridad informática, pero
muchas de estas normas sobre la seguridad en las bases de datos se centran en la monitorización
en lugar de en la prevención en tiempo real.

El propósito del cumplimiento en tu organización es cumplir con los estándares que son relevantes
para tu empresa, ya sean los estándares PCI o cualquier otro estándar de cumplimiento
internacional.

Monitorizando la actividad de la base de datos puedes identificar exactamente qué personas y


entidades están accediendo a la base de datos y con qué fines. Para cumplir con la mayoría de los
organismos de normalización, es necesario tener una visión completa de quién hizo qué y cuándo.

CONTROL DE ACCESO
El control de acceso protege fundamentalmente de los ataques internos. Los ataques internos
pueden ser intencionados, pero también con mucha frecuencia los ataques internos pueden ser el
resultado del robo de credenciales.

Hacer una separación de funciones te permite asignar privilegios a los administradores y usuarios
de la base de datos de acuerdo a sus necesidades. Por ejemplo, alguien que está a cargo de
copias de seguridad de la base datos no necesita nunca ver el contenido real de la base de datos.
Alguien que se dedica a realizar pruebas, puede necesitar acceder a la base de datos, pero puede
que no sea necesario que vea los datos reales. Utilizando una separación de funciones te permite
definir cada uno de esos roles y limitar el uso de las necesidades mínimas para cada usuario o tipo
de usuario.

PROTECCIÓN DE QUERIES
La principal forma de acceder a una base de datos es a través de comandos SQL. Por lo tanto, la
protección más importante de una base de datos es la protección contra ataques inyección de
SQL. La protección de base datos incluye un firewall que tiene un buen conjunto de listas blancas y
negras de definiciones de querys incluidas, así como protección contra desbordamiento y la
capacidad de personalizar tus propias políticas. La mayoría de los firewalls de base de datos tienen
capacidades de monitorización que pueden aprender del comportamiento de tu organización de

pg. 18
forma que la base sobre la que empezar filtrar va mejorando con el tiempo ya que va reconociendo
los usos legítimos e ilegítimos de tu base de datos.

ENMASCARAMIENTO DE DATOS O DATA MASKING


Las bases de datos a menudo contienen información que no debería ser vista por los
administradores, aunque necesiten utilizar los datos de alguna manera. El enmascaramiento de
datos oscurece los datos de forma que cuando se extraen de la base de datos se conserva el
formato, pero los datos reales no son reconocibles.

El enmascaramiento de datos se utiliza mucho para fines de desarrollo y de pruebas. Los


desarrolladores y el personal que prueba los cambios en aplicaciones necesitan acceder a la base
de datos para crear nuevas funcionalidades y actualizar la funcionalidad existente. Para realizar
tareas de desarrollo es esencial que los programadores tengan acceso a la base de datos, pero no
se les permite ver datos reales. Utilizando enmascaramiento dinámico, los desarrolladores de
bases de datos pueden trabajar en los datos y ver el formato de los datos sin ver la información
real si utilizas enmascaramiento de datos estático se crea una base de datos duplicada completa y
se enmascaran todos los datos para impedir que los desarrolladores y probadores vean los datos
reales.

ENCRIPTACIÓN
La encriptación de base de datos es una parte esencial de la protección de la base de datos y hay
diferentes niveles de encriptación.

En primer lugar, toda la base de datos puede ser encriptada utilizando herramientas de cifrado.
Esto significa que incluso aunque alguien tenga acceso a la base de datos física o sea capaz de
acceder a ella de alguna manera, los datos no van a ser legibles. Es necesario contar con las
claves de encriptación para acceder a la base de datos.

Un segundo nivel de encriptación de datos sólo es relevante fuera de la base de datos. Cada pieza
de datos que sale de la base de datos en cualquier formato debe protegerse del acceso malicioso.
Normalmente este nivel de cifrado se maneja mediante el medio de transporte, encriptando el
canal. Es importante estar seguro de que tus datos se encriptan correctamente dondequiera que
viajen fuera de la base de datos.

pg. 19
6. Recuperación, concurrencia, confiabilidad y privacidad de los datos

Recuperación: La principal función de la recuperación de datos es recuperar datos de un disco


duro o sistema operativo dañado. Estas fallas se refieren a los daños físicos y lógicos. A menudo el
daño físico provoca un daño lógico, por ejemplo, cuando un disco duro se sobrecalienta causa el
mal funcionamiento de los programas y, finalmente, hace que el sistema operativo falle. La
recuperación de datos implica el uso de diferentes métodos para intervenir el disco duro de una
computadora y recuperar archivos perdidos, borrados o comprometidos. El método utilizado para
recuperar estos datos depende del tipo de daño, en los casos de daños físicos y lógicos con
frecuencia tienen que usarse varios métodos para hacer frente en primer lugar el daño físico y, en
segundo lugar, hacer frente a los daños lógicos.

Concurrencia: concurrencia se refiere a la habilidad de distintas partes de un programa, algoritmo,


o problema de ser ejecutado en desorden o en orden parcial, sin afectar el resultado final. Los
cálculos (operaciones) pueden ser ejecutados en múltiples procesadores, o ejecutados en
procesadores separados físicamente o virtualmente en distintos hilos de ejecución. Un sin número
de modelos matemáticos han sido desarrollados para cálculos de la concurrencia en general
incluyendo redes de Petri, procesos Calculo, el modelo máquina de accesos random en paralelo, el
Modelo Actor y el Lenguaje Reo.

También concurrente significa algo que se repite cada cierto tiempo en un mismo lugar.

Confiabilidad: Tienen que ver con la exactitud, y precisión del procedimiento de medición. Los
coeficientes de confiabilidad proporcionan una indicación de la extensión, en que una medida es
consciente y reproducible.

Privacidad: a seguridad de datos, también conocida como seguridad de la información o seguridad


informática, es un aspecto esencial de TI en organizaciones de cualquier tamaño y tipo. Se trata de
un aspecto que tiene que ver con la protección de datos contra accesos no autorizados y para
protegerlos de una posible corrupción durante todo su ciclo de vida.

Seguridad de datos: incluye conceptos como encriptación de datos, tokenización y prácticas de


gestión de claves que ayudan a proteger los datos en todas las aplicaciones y plataformas de una
organización.

En todos los temas de seguridad de datos existen elementos comunes que todas las
organizaciones deben tener en cuenta a la hora de aplicar sus medidas: las personas, los procesos
y la tecnología.

6.1 Delitos informáticos

Un "delito informático" o "ciberdelito" es toda aquella acción antijurídica y culpable a través de vías
informáticas o que tiene como objetivo destruir y dañar por medios electrónicos y redes de Internet.
Existen conductas criminales por vías informáticas que no pueden considerarse como delito, según
la: "Teoría del delito", por lo cual se definen como abusos informáticos 1 y parte de la criminalidad
informática. La criminalidad informática consiste en la realización de un tipo de actividades que,
reuniendo los requisitos que delimitan el concepto de delito, sean llevados a cabo utilizando un
elemento informático.2

Los delitos informáticos son aquellas actividades ilícitas que:

pg. 20
Se cometen mediante el uso de computadoras, sistemas informáticos u otros dispositivos de
comunicación (la informática es el medio o instrumento para realizar un delito).
Tienen por objeto causar daños, provocar pérdidas o impedir el uso de sistemas informáticos
(delitos informáticos).
Los también conocidos Ciberdelitos, como lo señala Téllez, son actitudes contrarias a los intereses
de las personas en que se tiene a las computadoras como instrumento o fin (concepto atípico) o
las conductas atípicas, antijurídicas y culpables en que se tiene a las computadoras como
instrumento o fin

6.2 Legislación informática en México

Los delitos relacionados a las tecnologías de la información son muy poco mencionados en la
legislación mexicana y los que se mencionan lo hacen de manera implícita y divididos en varias
leyes federales; muy poco en las leyes estatales. Esto es delicado en pleno siglo XXI donde los
delitos informáticos están a la orden del día incluso ahora que las computadoras pueden ser el
medio por el cual los delitos de índole informática se pueden dar en todo momento y si existe un
desconocimiento de la Ley o si en ella no está tipificado el delito, la interpretación puede versar en
contra de la víctima al no juzgarse correctamente el delito del que podría ser objeto.

En el artículo 16 de la Constitución Política de los Estados Unidos Mexicanos dice en su segundo


párrafo: "Toda persona tiene derecho a la protección de sus datos personales, al acceso,
rectificación y cancelación de los mismos..." en lo general, en lo particular la Ley de Protección de
Datos Personales en Posesión de Particulares que entró en vigor el 5 de Julio del 2010 el capítulo
XI artículos 168, 169 y 170 habla sobre "los Delitos en Materia del Tratamiento Indebido de Datos
Personales", por lo que el uso de datos personales por medio de terceros está tipificado, pero no
totalmente y pueden detectarse vacíos en su aplicación.

Para las violaciones al derecho de autor, el Código Penal Federal en el artículo 424 bis fracción I
nos habla de "producir, reproducir, introducir al país, almacenar, transportar, distribuir, vender o
arrendar copias de obras, fonogramas, video gramas o libros, protegidos..." pero nunca menciona
programas de cómputo o bases de datos como la Ley Federal del mismo nombre en el Titulo IV,
Capitulo IV que si habla de los Programas de Computación y las Bases de Datos desde el articulo
101 al artículo 114.

Para la interrupción en un servicio electrónico de conmutación, una red pública de


telecomunicaciones por medio de la destrucción física se prevé en el artículo 167 fracción II y en el
mismo sentido, pero en una red o instalación privada es el artículo 177 del Código Penal Federal.

6.3 Iniciativa de Ley Federal de Protección de datos personales

se ubica dentro del campo de estudio del Derecho Informático. Se trata de la garantía o la facultad
de control de la propia información frente a su tratamiento automatizado o no, es decir, no sólo a
aquella información albergada en sistemas computacionales, sino en cualquier soporte que permita
su utilización: almacenamiento, organización y acceso. En algunos países la protección de datos
encuentra reconocimiento constitucional, como derecho humano y en otros simplemente legal.

En México la Ley independiente de Protección de Datos Personales en Posesión de Particulares


(LFPDPPP) define como dato personal a: Cualquier información concerniente a una persona
identificada o identificable. El Pleno del Instituto Federal de Acceso a la Información Pública, (con
fundamento en lo dispuesto por los artículos 15, 16 y 37 fracción III de la Ley Federal de
Transparencia y Acceso a la Información Pública Gubernamental, 28 y 64 de su Reglamento)
emitió los Lineamientos Generales para la Clasificación y Desclasificación de la Información de las

pg. 21
Dependencias y Entidades de la Administración Pública Federal. Cuando se trata de datos
personales la información es clasificada confidencial tal como lo estipula en su artículo Trigésimo
Segundo: "Será confidencial la información que contenga datos personales de una persona física
identificada o identificable relativos a:

I.- Origen étnico o racial; II.- Características físicas; III.- Características morales; IV.-
Características emocionales; V.- Vida afectiva; VI.- Vida familiar; VII.- Domicilio particular; VIII.-
Número telefónico particular; IX.- Patrimonio; X.- Ideología; XI.- Opinión política; XII.- Creencia o
convicción religiosa; XIII.-Creencia o convicción filosófica; XIV.- Estado de salud física; XV.- Estado
de salud mental; XVI.- Preferencia sexual, y XVII.-Otras análogas que afecten su intimidad, como la
información genética. Los datos personales serán confidenciales aun cuando no hayan sido
obtenidos de su titular. También se consideran confidenciales los datos de una persona fallecida,
los únicos que podrán tener acceso y derecho a corregirlos son el cónyuge y los familiares en línea
recta ascendente o descendente sin limitación de grado, y en línea transversal hasta el segundo
grado. Sólo en caso de que no existiera ningún familiar de los mencionados, los parientes en línea
transversa hasta cuarto grado tendrán derecho a solicitar la corrección de datos.

La reforma constitucional de febrero de 2014 marcó un cambio trascendental en la protección de


los datos personales a nivel nacional, puesto que estableció el compromiso para la creación de una
Ley General de Protección de Datos Personales, con lo cual, se pretende crear un marco
normativo que permita establecer estándares mínimos de regulación y protección de los datos
personales, tanto por particulares como por dependencias y entidades de la administración pública
federal y local.

pg. 22
7. Procesamiento en bases de datos para múltiples usuarios

Un sistema multiusuario es un sistema informático que da servicio, de manera concurrente, a


diferentes usuarios mediante la utilización compartida de sus recursos. Con el fin de llevar a cabo
su trabajo, cada usuario inicia una sesión por medio de una terminal conectada directamente al
sistema o de un cliente ubicado en un sistema remoto conectado por medio de una red de
comunicaciones. Los sistemas de base de datos multiusuarios están soportados por diversas
arquitecturas. En el pasado, los más comunes eran los sistemas de teleprocesamiento. Conforme
se ha ido reduciendo el precio de las CPU, se ha hecho factible la utilización de más de una
computadora, lo cual ha producido nuevas alternativas de bases de datos multiusuarios.

Sistemas De Teleprocesamiento
El método clásico de soportar un sistema de base de datos multiusuario es el teleprocesamiento,
que utiliza una computadora y una unidad central. Todo el procesamiento es efectuado por esta
computadora. En la figura 2.1 se muestra un sistema de teleprocesamiento típico. Los usuarios
operan terminales no inteligentes que transmiten a la macrocomputadora mensajes de
transacciones y datos. La unidad de teleprocesamiento recibe los mensajes y los datos y los envía
al programa de aplicación apropiado. El programa llama al sistema manejador de base de datos
(SMBD) solicitando servicios, y éste procesa la base de datos. Terminada la transacción, los
resultados son devueltos a los usuarios en las terminales no inteligentes a través de la red

La figura 2.2 muestra N usuarios sometiendo transacciones procesadas por tres distintos
programas de aplicación. Dado que existe poca inteligencia en el extremo del usuario (las
terminales no son inteligentes), todos los comandos encargados de la interfaz gráfica deben ser
generados por la CPU y transmitidos por las líneas de comunicación. Por lo general, la interfaz de
usuario está orientada a caracteres y es primitiva. Todas las entradas y las salidas son
comunicadas a la macrocomputadora para su procesamiento a distancia.

pg. 23
Los sistemas de teleprocesamiento fueron la alternativa más común para el desarrollo de sistemas
de base de datos multiusuario. Conforme se ha ido reduciendo la afinidad precio-rendimiento de
las computadoras, y con el advenimiento de las microcomputadoras, se han utilizado otras
alternativas que requieren de varias computadoras. 2. 2. Sistemas Cliente-Servidor En la figura
2.3 aparece el esquema de una de esas alternativas, llamado sistema cliente-servidor. A diferencia
del teleprocesamiento, que implica el uso de una sola computadora, la computación cliente-
servidor involucra varias computadoras conectadas por una red. Algunas de las computadoras
procesan programas de aplicación y se conocen como clientes. Otra computadora procesa la base
de datos y es designada como servidor.

En la figura 2.4 cada uno de los N usuarios tiene su propia computadora de procesamiento de
aplicaciones. El Usuario 1 procesa la Aplicación 1 y la Aplicación 2 en la computadora 1. El Usuario
2 procesa Aplicación 2 en la computadora 2, y el Usuario N procesa la Aplicación 2 y la Aplicación
3 en la computadora N. Otra computadora es utilizada como servidor de base de datos.

pg. 24
7.1 Modelo de Madurez de Capacidades (CMM)

El Modelo de Madurez de Capacidades o CMM (Capability Maturity Model), es un modelo de


evaluación de los procesos de una organización. Fue desarrollado inicialmente para los procesos
relativos al desarrollo e implementación de software por la Universidad Carnegie-Mellon para el
Software Engineering Institute (SEI).

Este modelo establece un conjunto de prácticas o procesos clave agrupados en Áreas Clave de
Proceso (KPA - Key Process Area). Para cada área de proceso define un conjunto de buenas
prácticas que habrán de ser:

Definidas en un procedimiento documentado


Provistas (la organización) de los medios y formación necesarios
Ejecutadas de un modo sistemático, universal y uniforme (institucionalizadas)
Medidas
Verificadas
A su vez estas Áreas de Proceso se agrupan en cinco "niveles de madurez", de modo que una
organización que tenga institucionalizadas todas las prácticas incluidas en un nivel y sus inferiores,
se considera que ha alcanzado ese nivel de madurez.

1 - Inicial. Las organizaciones en este nivel no disponen de un ambiente estable para el desarrollo
y mantenimiento de software. Aunque se utilicen técnicas correctas de ingeniería, los esfuerzos se
ven minados por falta de planificación. El éxito de los proyectos se basa la mayoría de las veces en

pg. 25
el esfuerzo personal, aunque a menudo se producen fracasos y casi siempre retrasos y
sobrecostes. El resultado de los proyectos es impredecible.
2 - Repetible. En este nivel las organizaciones disponen de unas prácticas institucionalizadas de
gestión de proyectos, existen unas métricas básicas y un razonable seguimiento de la calidad. La
relación con subcontratistas y clientes está gestionada sistemáticamente.
3 - Definido. Además de una buena gestión de proyectos, a este nivel las organizaciones disponen
de correctos procedimientos de coordinación entre grupos, formación del personal, técnicas de
ingeniería más detalladas y un nivel más avanzado de métricas en los procesos. Se implementan
técnicas de revisión por pares (peer reviews).
4 - Gestionado. Se caracteriza porque las organizaciones disponen de un conjunto de métricas
significativas de calidad y productividad, que se usan de modo sistemático para la toma de
decisiones y la gestión de riesgos. El software resultante es de alta calidad.
5 - Optimizado. La organización completa está volcada en la mejora continua de los procesos. Se
hace uso intensivo de las métricas y se gestiona el proceso de innovación.
Así es como el modelo CMM establece una medida del progreso, conforme al avance en niveles de
madurez. Cada nivel a su vez cuenta con un número de áreas de proceso que deben lograrse. El
alcanzar estas áreas o estadios se detecta mediante la satisfacción o insatisfacción de varias
metas claras y cuantificables. Con la excepción del primer nivel, cada uno de los restantes Niveles
de Madurez está compuesto por un cierto número de Áreas Claves de Proceso, conocidas a través
de la documentación del CMM por su sigla inglesa: KPA.

Cada KPA identifica un conjunto de actividades y prácticas interrelacionadas, las cuales cuando
son realizadas en forma colectiva permiten alcanzar las metas fundamentales del proceso. Las
KPAs pueden clasificarse en 3 tipos de proceso: Gestión, Organizacional e Ingeniería.

Las prácticas que deben ser realizadas por cada Área Clave de Proceso están organizadas en 5
Características Comunes, las cuales constituyen propiedades que indican si la implementación y la
institucionalización de un proceso clave es efectivo, repetible y duradero.

Estas 5 características son: i) Compromiso de la realización, ii) La capacidad de realización, iii) Las
actividades realizadas, iv) Las mediciones y el análisis, v) La verificación de la implementación.

Las organizaciones que utilizan CMM para mejorar sus procesos disponen de una guía útil para
orientar sus esfuerzos. Además, el SEI proporciona formación a evaluadores certificados (Lead
Assesors) capacitados para evaluar y certificar el nivel CMM en el que se encuentra una
organización. Esta certificación es requerida por el Departamento de Defensa de los Estados
Unidos, pero también es utilizada por multitud de organizaciones de todo el mundo para valorar a
sus subcontratistas de software.

Se considera típico que una organización dedique unos 18 meses para progresar un nivel, aunque
algunas consiguen mejorarlo. En cualquier caso requiere un amplio esfuerzo y un compromiso
intenso de la dirección.

Como consecuencia, muchas organizaciones que realizan funciones de factoría de software o, en


general, outsourcing de procesos de software, adoptan el modelo CMM y se certifican en alguno de
sus niveles. Esto explica que uno de los países en el que más organizaciones certificadas exista
sea India, donde han florecido las factorías de software que trabajan para clientes estadounidenses
y europeos.

pg. 26
7.2 Evaluar los procesos en sus niveles de madurez

Toda organización que pretenda optimizar sus recursos tecnológicos, y, por lo tanto, ser más
competitiva, requiere comprender el estado de los Procesos que Gestionan sus Sistemas de
Tecnología de Información y Comunicaciones (TIC), con la finalidad de establecer el nivel de
administración y control adecuado que debe proporcionar a sus Sistemas.

Para decidir el nivel adecuado, la Gerencia TIC debe realizar un estudio detallado donde se indique
la realidad de su Gestión actual, y su posición frente a la competencia, con esto como base podrá
plantear a la Alta Gerencia las prioridades de atención, para que estos últimos puedan alinear
estas necesidades con la estrategia de la empresa, y juntamente con la Gerencia TIC, establecer
un Plan de Acción que garantice beneficios para la organización.

Para lograrlo, solemos basarnos en el marco de referencia CobIT (actualmente versión 5), quien
sugiere medir la madurez de los procesos a través del “Process Capability Model”, el cual está
basado en el estándar “ISO/IEC 15504 Software Engineering – Process Assessment Standard”.
Esta evaluación es muy exigente respecto a lo que debe cumplir cada proceso para ascender de
nivel, y permite, entre otras cosas, lo siguiente:

Establecer un punto de referencia para la evaluación de la capacidad.


Realizar revisiones sobre “el estado actual” y “el estado objetivo” para asistir al órgano de Gobierno
y de Gestión de la empresa en la toma de decisiones de inversiones para la mejora de procesos.
Realizar un análisis de carencias e información sobre la planificación de mejoras para apoyar la
definición de proyectos de mejora justificables.
Proporcionar al órgano de Gobierno y de Gestión de la empresa los porcentajes de evaluación
para medir y monitorizar la capacidad actual.

Antes de continuar comentando sobre este tipo de evaluación, debemos establecer una serie de
conceptos que nos permitirán entender el resto del artículo. Estos conceptos claves son:

Calidad: Para las necesidades de este tipo de evaluación, tomaremos el enfoque de la CMMI que
establece que la calidad de un producto o servicio está altamente influenciada por el proceso que
se utiliza. Para el establecimiento o medición del nivel de implantación de las prácticas descritas en
el modelo se utilizan dos enfoques, que permiten alcanzar los mismos resultados, pero utilizando
estrategias diferentes.

Nivel de madurez: Cuando se habla de un nivel de madurez se debe entender como un conjunto
de prácticas, preestablecidas por el modelo, que se deben garantizar por la Organización en su
conjunto. Es decir, o se cumplen todas o no se tiene el nivel de madurez. En términos del modelo
son las áreas de proceso que se consideran en cada nivel de madurez y que van evolucionando.

Nivel de capacidad: En el caso de los niveles de capacidad la comparación es más compleja


porque tendría que evaluarse por cada área de proceso el nivel que se tiene. Aquí el análisis
cambia en el sentido de que por cada área de proceso se evoluciona de generar los artefactos o
resultados del proceso, a gestionar la ejecución del proceso hasta tenerlo definido como proceso
estándar. Pero nuevamente es un análisis individual y no de conjunto. La idea es que mejora la
calidad de los productos propios del proceso y en su conjunto contribuyen a mejorar la calidad del
producto o servicio que se desarrolla.

pg. 27
Entonces, para concluir, debemos entender de estos conceptos, que en la medida que se
evoluciona en los niveles de madurez, o capacidad la Organización posee elementos para ofrecer
una mayor calidad en el producto o servicio.

Para concluir con el análisis de Madurez, es importante destacar que la decisión de una
organización de invertir en la mejora de los procesos TIC debe estar basada en la comprensión de
la importancia estratégica para cada uno de sus objetivos. El resultado de esta evaluación permitirá
diseñar un plan de Acción para la optimización de los procesos y recursos de la gestión TIC.

7.3 Evaluación en área de proceso clave

Los procesos clave son aquellos que añaden valor al cliente o inciden directamente en su
satisfacción o insatisfacción. Componen la cadena del valor de la organización. También pueden
considerarse procesos clave aquellos que, aunque no añadan valor al cliente, consuman muchos
recursos. Por ejemplo, en una empresa de transporte de pasajeros por avión, el mantenimiento de
las aeronaves e instalaciones es clave por sus implicaciones en la seguridad, el confort para los
pasajeros la productividad y la rentabilidad para la empresa. El mismo proceso de mantenimiento
puede ser considerado como proceso de apoyo en otros sectores en los que no tiene tanta
relevancia, como por ejemplo una empresa de servicios de formación. Del mismo modo, el proceso
de compras puede ser considerado clave en empresas dedicadas a la distribución comercial, por
su influencia en los resultados económicos y los plazos de servicio mientras que el proceso de
compras puede ser considerado proceso de apoyo en una empresa servicios.
Los procesos clave intervienen en la misión, pero no necesariamente en la visión de la
organización.

7.4 Niveles

CMM define cinco niveles de madurez donde el nivel superior es satisfecho únicamente si se
cumple con los objetivos de los niveles inferiores y en su conjunto son: inicial, repetible, definido,
administrado y optimizado. En el nivel inicial una organización no provee un ambiente estable para
el desarrollo y mantenimiento del software, a pesar de ello desarrollan productos que funcionan. En
este nivel los éxitos dependen mucho de las personas y no son repetibles a menos que se den las
mismas circunstancias y el mismo equipo por tanto cada proyecto es impredecible

7.6 Repetible

En el segundo nivel, el repetible, las políticas para administrar un proyecto de software y los
procedimientos para implementarlas están establecidos y están basadas en la experiencia previa
en proyectos similares. Las capacidades se implementan mediante el establecimiento de una
disciplina básica de administración de procesos en un proyecto en función de sus necesidades
particulares. Existen controles básicos de administración de software, hay una rastreabilidad de los
costos, los planes y la funcionalidad. Los requerimientos y los productos de trabajo son reunidos en
configuraciones base cuya integridad es controlada, la organización se asegura de que los
estándares definidos para el proyecto sean seguidos fielmente.

En este nivel un proceso efectivo se caracteriza por ser ejecutado, documentado, reforzado, existe
capacitación al respecto, es medido y es susceptible de ser mejorado. Sin embargo, los procesos
entre dos proyectos pueden diferir en función de las características de cada uno. Esto es posible

pg. 28
puesto que el requerimiento para alcanzar este nivel es que existan políticas que guíen a los
proyectos en cuanto al establecimiento de los procesos de administración adecuados.

Las áreas de proceso clave cuyos objetivos deben ser cumplidos en este nivel son los siguientes:

- Administración de requerimientos, cuyo propósito es establecer un entendimiento común


entre el cliente y el proyecto de software acerca de los requerimientos del usuario que
serán manejados por el proyecto de software.
- Planeación de proyectos de software, cuyo propósito es el establecimiento de planes
razonables que sean el fundamento para la ingeniería de software y la administración del
proyecto de software.
- Rastreabilidad y visibilidad del proyecto de software para establecer una visibilidad
adecuada del progreso actual de tal manera que los administradores puedan tomar
decisiones y acciones efectivas cuando existe alguna desviación importante en el
desempeño del proyecto.
- Administración de subcontratistas de software para seleccionar a los subcontratistas de
software adecuados y establecer una administración efectiva de su labor.
- Aseguramiento de la calidad en software para establecer visibilidad sobre las
características del producto construido y asegurar que sea correcto.
- Administración de las configuraciones de software cuyo propósito es establecer y mantener
la integridad de los productos de software a través de todo el ciclo de vida.

7.7 Definido

El tercer nivel de CMM es el definido y en este el proceso estándar para el desarrollo y


mantenimiento de software en toda la organización está documentado e incluye tanto la ingeniería
como la administración del proceso de manera integrada. Existe un grupo responsable de los
procesos de software, hay un programa de capacitación organizacional implementado para
asegurar que todo el personal tenga el conocimiento y las habilidades requeridas para cumplir con
los roles que se le asignaron.

Un proceso bien definido se puede caracterizar por incluir estándares y procedimientos para
realizar el trabajo, mecanismos de verificación, una serie de criterios para determinar si algo está
listo y completo. En resumen, es un proceso estandarizado y consistente porque tanto la ingeniería
como la administración de software están estables, son repetibles y está implementado a nivel
organizacional.

En este nivel es necesario cumplir los objetivos de las siguientes áreas de procesos clave:

- Revisión entre colegas (Peer reviews) cuyo propósito es detectar y eliminar los defectos
del software en etapas tempranas vía inspecciones de código y otras estrategias.
- Coordinación intergrupal, cuyo propósito es establecer los medios para que los miembros
del grupo de ingeniería de software participen activamente con otros grupos para que el
proyecto pueda satisfacer de mejor manera los requerimientos. Este suele darse en
organizaciones lo suficientemente grandes.
- Ingeniería de producto de software cuyo propósito es desempeñar consistentemente un
proceso de ingeniería bien definido que integre todas las actividades de ingeniería de
software para producir de manera eficiente y eficaz productos correctos y consistentes.
Incluye actividades como análisis de requerimientos, diseño, codificación y pruebas.

pg. 29
- Administración integrada de software, cuyo propósito es integrar las actividades de
ingeniería de software y las actividades de administración en un proceso coherente y
definido que al mismo tiempo que esté basado en los estándares organizacionales cumpla
con las necesidades técnicas y contemple las necesidades del negocio propias del
proyecto.
- Programas de capacitación para desarrollar las habilidades y el conocimiento de los
individuos para que puedan desempeñar efectiva y eficientemente sus roles. La
capacitación es una responsabilidad organizacional, pero cada proyecto debería identificar
sus propias habilidades requeridas y proveer la capacitación necesaria cuando estas son
únicas en toda la organización.
- Definición de procesos organizacionales para desarrollar y mantener un conjunto de
elementos del proceso de software que mejoren el desempeño a través de los proyectos y
que provean una base para definir cuáles son los datos significativos y cuantificables
necesarios para la administración.
- Enfoque organizacional de procesos para establecer la responsabilidad organizacional
respecto a las actividades del proceso de software que mejoran la capacidad de la
organización en su conjunto

7.8 Administrado

El cuarto nivel es el nivel administrado, en él la organización establece objetivos cualitativos y


cuantitativos tanto para los procesos de software como para los productos. La productividad y la
calidad son medidas a nivel organizacional y se utiliza una base de datos para recolectar y analizar
la información disponible sobre los procesos de software definidos. Las métricas establecen la
base cuantitativa para la evaluación de los procesos y productos, el control sobre ellos se
establece al reducir la variación en el desempeño para caer en fronteras aceptables y por tanto
pueden distinguirse perfectamente las variaciones verdaderamente significativas. Los riesgos
inherentes a la curva de aprendizaje de una nueva tecnología son conocidos y administrados muy
de cerca.

Las capacidades de la organización pueden ser cuantificables y predecibles porque este nivel
realiza mediciones y opera dentro de límites medibles, por tanto, puede predecirse la calidad del
producto y en caso de variaciones puede identificarse la causa y por tanto tomar acciones
correctivas.

Las KPA correspondientes a este nivel son:


- Administración de la calidad de software, cuyo propósito es desarrollar una comprensión
cuantitativa de la calidad de los productos y alcanzar objetivos específicos de calidad.
- Administración cuantitativa de procesos, cuyo propósito es controlar cuantitativamente el
desempeño de los proyectos pues estos son los resultados reales alcanzados. Debe
enfocarse en identificar las causas de las variaciones dentro de un proceso estable y
medible y tomar acciones correctivas

7.9 Optimizado

El quinto nivel es el nivel optimizado y en él la organización completa está enfocada en el


constante mejoramiento del proceso. La organización cuenta con medios para identificar las
debilidades y fortalecer el proceso de manera proactiva con el objetivo de evitar la ocurrencia de
defectos. Se realizan análisis de costo-beneficio respecto a nuevas tecnologías y cambios al
proceso organizacional de software. Los procesos de software son evaluados para prevenir
defectos recurrentes y las lecciones son aprendidas y diseminadas a otros proyectos.

pg. 30
Las organizaciones con nivel cinco pueden ser caracterizadas por ser aquellas que continuamente
están mejorando su rango de capacidades y su desempeño. El mejoramiento sucede por avances
incrementales en el proceso existente y por innovaciones al utilizar nuevas tecnologías y métodos.
La mejora en tecnología y procesos se planea y se administra tal y como se hace para otros
procesos de negocio.

Las áreas de proceso clave pertenecientes a este nivel son:

Prevención de defectos, cuyo propósito es identificar las causas de los defectos y prevenir su
ocurrencia posterior. El proceso de software analiza los defectos, identifica sus causas y adecúa el
proceso.
Administración del cambio tecnológico, cuyo propósito es identificar nuevas tecnologías
potencialmente benéficas (herramientas, métodos, procesos, etc.) y transferirlas a la organización
de una manera ordenada. El enfoque es en realizar una innovación eficiente y efectiva en un
contexto siempre cambiante.
Administración del cambio en el proceso, cuyo propósito es la mejora continua del proceso de
software implementado en la organización con el objetivo de mejorar la calidad del software,
incrementar la productividad y reducir el tiempo de desarrollo.

Para una organización uno de los beneficios principales de la madurez en sus procesos es la
posibilidad de predecir el comportamiento de sus proyectos y con ello tener estimaciones más
certeras que eviten la elevación de costos debido al retrabajo, desviaciones del plan original o
multas. CMM provee de una estructura conceptual para mejorar la administración e ingeniería de
software de una manera disciplinada a través de la organización, sin embargo, depende de ella y
sus habilidades que los productos sean correctamente construidos y que los proyectos lleguen a
buen término gracias a un adecuado desempeño de los equipos de administración e ingeniería.

pg. 31

También podría gustarte