Migración versionada de la estructura de la base de datos: enfoques básicos. Migración de datos de PLM: problemas y soluciones Plan de migración de datos

Desarrollo de requisitos generales para la migración de datos

Como parte del desarrollo de los requisitos generales de migración de datos, el analista empresarial debe definir una estrategia de migración de datos. Según las necesidades del negocio, se debe seleccionar el modo de operación de la organización del cliente, la migración del "big bang" o la migración suave.

Al elegir una estrategia de "gran explosión", se debe determinar el tiempo que la empresa puede dedicar al tiempo de inactividad durante la migración de datos. Después de determinar la cantidad de tiempo que una empresa puede pasar inactiva durante una migración de datos, se puede elaborar un cronograma de migración de datos. Al programar una migración de datos, se debe reservar un día o días libres para volver a migrar en caso de errores graves.

Al elegir una estrategia de migración fluida, todos los usuarios comerciales del sistema de destino deben dividirse en grupos para los cuales se debe elaborar un cronograma de cambio para trabajar con el sistema de destino. Después de dividir a los usuarios comerciales en grupos, se deben definir sus correspondientes conjuntos de datos y entidades. Al distribuir usuarios comerciales en grupos, las relaciones de estos grupos deben tenerse en cuenta dentro del proceso comercial que se automatiza en el sistema de destino.

Paralelamente a la elección de una estrategia para realizar la migración de datos, la gestión del proyecto y/o el analista comercial deben identificar los riesgos típicos de la migración de datos. Para cada riesgo identificado, se debe seleccionar una estrategia de gestión de riesgos (métodos) y desarrollar un conjunto de medidas de prevención de riesgos. La estrategia de prevención de riesgos puede ser una de las siguientes:

  • Rechazo de actividades excesivamente riesgosas (método de rechazo),
  • prevención o diversificación (método de reducción),
  • subcontratación de funciones costosas y riesgosas (método de transferencia),
  • formación de reservas o existencias (método de aceptación).

La Tabla 1 proporciona una matriz de riesgos típicos de migración de datos y cómo lidiar con cada uno de estos riesgos. Las celdas de la matriz proporcionan ejemplos de actividades para tratar cada uno de los riesgos dentro de cada método de prevención de riesgos.

Al compilar la tabla, se asumió que la estrategia de "Rechazo" no es aceptable para el equipo del proyecto, ya que el requisito previo para el estudio es la necesidad de realizar un trabajo de migración. Por lo tanto, no hay posibilidad de exclusión total o parcial de dichas obras del alcance del proyecto.

Tabla 1 Matriz de riesgos y posibles estrategias para enfrentar los riesgos de la fase de migración

Estrategia de gestión de riesgos

rechazar

Transmisión

Adopción

Riesgos de la elaboración de una especificación técnica

Elaboración de requisitos de migración junto con el negocio, dueños y consumidores de los datos migrados

Participación de consultores en la elaboración de especificaciones técnicas

Formación de una reserva de presupuesto y tiempo en el proyecto para trabajar con posibles solicitudes de cambio.

Riesgos de prueba

Desarrollo de planes de prueba y escenarios que involucren a usuarios comerciales

Transferir un paquete de prueba a un equipo separado con condiciones predeterminadas para aceptar sus resultados

Formación de una reserva de tiempo y presupuesto para potenciales trabajo adicional debido a pruebas incompletas del software de migración y los datos alojados

Riesgos en el proceso de obtención y carga de datos

Elaboración de requisitos para prueba de descarga. Realización de una migración de "prueba" mediante una carga de prueba

Formación de una reserva de presupuesto y tiempo para recepción repetida de descargas y descargas iterativas

Estrategia de gestión de riesgos

rechazar

Transmisión

Adopción

Riesgos asociados con el trabajo del equipo del proyecto

Riesgos de colocar datos en el sistema de destino

Desarrollo paralelo de los modelos de datos "tal cual" y "to be" para nivelar las diferencias en formatos y métodos de trabajo con datos en el origen y el destino

Formación de una reserva de tiempo y presupuesto para mejoras en la funcionalidad del sistema receptor.

Organización de la planificación de la migración de datos

La entrada para el desarrollo de planes de trabajo de migración es la estrategia de migración de datos formulada como parte del desarrollo de los requisitos generales de migración de datos.

El resultado de la planificación del trabajo de migración de datos debe ser un conjunto de artefactos de diseño que registren la secuencia de pasos para implementar la migración de datos. Los resultados de la fase de planificación son los siguientes artefactos del proyecto: el plan de trabajo de migración y el plan de comunicaciones para la fase de migración de datos.

El plan de trabajo de migración define un conjunto de tareas y los responsables de su implementación, distribuidos utilizando la matriz RACI. El plan de trabajo del proyecto para la migración debe contener tareas y paquetes de trabajo para cada una de las etapas de la migración: desde la etapa de trabajo preparatoria hasta la posterior a la migración. Teniendo en cuenta los resultados del análisis de la experiencia del proyecto, la WBS se desarrolló para evitar riesgos y corresponder a los enfoques teóricos de "referencia" para la organización de la migración de datos.

Se muestra en la figura. 3 estructura de trabajo cubre todas las etapas de la migración y se puede rastrear a las líneas del plan de trabajo del proyecto. Como parte del plan de trabajo del proyecto, se deben indicar los plazos para la implementación de cada tarea y los resultados de cada tarea. Al elaborar un plan de trabajo para cada tarea, se debe definir una condición, cuyo cumplimiento determinará sin ambigüedades que la tarea se complete.

Un artefacto de diseño igualmente importante de la fase de migración de datos es el plan de comunicaciones. El plan de comunicación en la etapa de migración define los objetivos y los tipos de interacción entre los miembros del equipo del proyecto, así como entre los miembros del equipo del proyecto y los empleados del cliente: usuarios comerciales.

El diseño del plan de comunicación dentro de la fase de migración debe basarse en el plan de trabajo elaborado anteriormente. Para cada tarea dentro del plan del proyecto, se deben definir los siguientes atributos:

  • 1. Asunto (tema) de la comunicación.
  • 2. La necesidad de interacción de los grupos de roles dentro del equipo;

¿Quién debe participar en la comunicación? ¿Qué son los grupos de roles?

  • 3. ¿Qué tipo de interacción es aceptable?
  • 4. ¿Cuál debería ser el resultado de la comunicación?
  • 5. La necesidad de interacción con el equipo del proyecto y los usuarios comerciales;
  • 6. ¿Quién debería estar involucrado en la comunicación desde el equipo del proyecto y desde el lado comercial?
  • 7. ¿Qué tipo de interacción con los usuarios comerciales es aceptable?
  • 8. ¿Cuál debería ser el resultado de la comunicación con los usuarios empresariales?
  • 9. ¿Quién debe conocer los resultados de la comunicación?

En la Tabla 2 a continuación (Tabla 2) se muestra una plantilla para un plan de comunicaciones para la fase de migración de datos.

Tabla 2 Plantilla de plan de comunicación para la fase de migración de datos

Tema de comunicación

indica el problema principal o tarea para la cual es necesaria esta comunicación, la sección de requisitos de migración, objetos de datos

Miembros del equipo del proyecto

se indican grupos de roles y roles

La necesidad de interactuar con los negocios.

etiquetado sí o no

Participantes del lado comercial

se indica la unidad funcional y el empleado responsable

Tipo de interacción

se indica el tipo de interacción, por ejemplo: escrita, reunión, taller

Desarrollar y documentar los requisitos comerciales para la migración de datos.

El desarrollo y la documentación de los requisitos de migración de datos deben llevarse a cabo en varias etapas. Como parte de la metodología que se está desarrollando, la etapa de desarrollo de requisitos comerciales para la migración de datos también incluirá el paso de realizar y documentar los resultados de una encuesta de la organización del cliente. El propósito de la fase de desarrollo de los requisitos comerciales para la migración de datos es desarrollar paquete completo requisitos de software especializado para la migración de datos, así como para la composición de los datos migrados al sistema de destino.

1. Inspección del sistema de información operado

La inspección del sistema de información operativo cronológicamente debe ser la primera etapa de trabajo en el desarrollo de requisitos para la migración de datos.

El examen del sistema de información existente como parte del desarrollo de los requisitos de migración de datos puede llevarse a cabo como parte de la encuesta empresarial de todo el proyecto de implementación de PI. La encuesta, como parte del desarrollo de los requisitos de migración de datos, debe tener como objetivo crear un modelo de datos "tal cual". El modelo de datos "tal cual" permitirá preparar los requisitos para la composición de los datos que se migrarán desde el sistema de origen al de destino. sistema.

El modelo de datos 'tal cual' describe todos los objetos de datos que se utilizan en el sistema operativo. Después de compilar dicho modelo, será más fácil para el cliente seleccionar una lista de objetos de datos para transferir al sistema receptor. En tal modelo , se deben indicar los nombres de las entidades, y se debe describir su composición de atributos y relaciones entre entidades, indicando su cardinalidad.

Además del modelo de datos del sistema operativo, la fase de encuesta debe elaborar diagramas de procesos comerciales que utilicen los objetos de datos seleccionados para transferirlos al sistema de destino. Los modelos de procesos de negocios le permitirán identificar los objetos de datos faltantes si se perdieron al analizar el modelo de datos.

Además de compilar el modelo de datos "tal cual", en la etapa de encuesta, se deben describir las reglas para trabajar con diccionarios y libros de referencia en el sistema operativo. En particular, se deben describir los siguientes puntos para cada diccionario:

  • - El nombre del diccionario o libro de referencia;
  • - Responsable de la administración de la unidad funcional de diccionario;
  • - Disponibilidad de verificación de unicidad para códigos y valores de entradas de diccionario;
  • - Presencia de reglas para la actualización periódica de las entradas en los diccionarios;
  • - Descripción de las reglas para trabajar con entradas de diccionario que han perdido su relevancia;
  • - Si se migran datos de varias fuentes, es necesario describir si existe una duplicación de diccionarios en varios sistemas fuente. Si hay diccionarios duplicados en varios sistemas fuente, se requiere una descripción de las reglas para deduplicar y mapear registros para cada diccionario;

El formato de la especificación de requisitos para migrar diccionarios del sistema de origen al sistema de destino se proporciona en la tabla y se proporciona un ejemplo de cómo completar dicha especificación.

2. Desarrollo de requisitos de perfiles de datos para la migración

El desarrollo de los requisitos de creación de perfiles de datos para la migración debe involucrar a grupos de usuarios comerciales clave de acuerdo con el plan de comunicaciones desarrollado durante la planificación de la migración de datos. Una plantilla de documento y un ejemplo de llenado para registrar los resultados de la encuesta se muestran en la Tabla 4 (Tabla 4).

Los usuarios comerciales son fuentes para responder las siguientes preguntas de perfil de datos para la migración de datos:

  • 1) ¿Los datos migrados serán la entrada para la operación de un proceso de negocio automatizado en el sistema que se está diseñando? La respuesta a esta pregunta debe ser una tabla que describa la correspondencia entre los objetos de datos del sistema de origen y los procesos comerciales automatizados en el sistema de destino.
  • 2) ¿Qué período de tiempo debe determinarse para la migración de datos? Al mismo tiempo, se debe tener en cuenta lo dispuesto en los documentos reglamentarios y organizativos y administrativos. La respuesta a esta pregunta debería ser una tabla de correspondencia entre el objeto de datos y el horizonte de tiempo para cargar datos desde el sistema de origen.
  • 3) ¿Qué objeto de datos del sistema de destino corresponde a cada uno de los objetos de datos del sistema de origen seleccionados para la migración? La respuesta a esta pregunta debería ser la tabla de asignación de objetos de datos del sistema de origen y el sistema de destino.
  • 4) ¿La composición de atributos de los objetos de datos del sistema de origen contiene campos o un grupo de atributos que no se utilizarán en el sistema de destino? La respuesta a esta pregunta debe ser una tabla que describa la composición de atributos de los objetos de datos con el indicador establecido: usado/no usado en el sistema de destino.
  • 5) ¿Existen campos o grupos de atributos en la composición de atributos de los objetos de datos del sistema de origen que no se corresponden en tipo de datos con los campos del sistema de destino? La respuesta a esta pregunta debería ser una tabla que describa la composición de atributos de los objetos de datos con un conjunto de indicadores e incoherencias de decodificación.
  • 6) ¿Ha habido una actualización del sistema de origen que haya resultado en un cambio significativo en la estructura de los datos que deben migrarse? Ejemplos de cambios:
    • - Cambiar la composición de los atributos obligatorios;
    • - Cambiar las reglas para almacenar objetos de datos;
    • - Un cambio significativo en la estructura del objeto de datos, lo que lleva a un cambio en los volúmenes de datos.

La respuesta a esta pregunta debe ser una descripción de los objetos de datos del sistema de origen con una descripción de las características de trabajar con el objeto de datos durante el período de tiempo durante el cual se migran los datos.

7) ¿Qué unidad funcional o usuarios específicos son propietarios de los datos? La respuesta a esta pregunta debería ser una tabla de correspondencia entre los objetos de datos y los empleados del cliente.

El departamento de TI es la fuente para responder las siguientes preguntas sobre el perfil de datos para la migración:

  • 1) ¿Dónde se almacenan físicamente los datos que los usuarios comerciales eligen migrar al sistema de destino? ¿Cuál es la fuente de los datos: una aplicación empresarial, un sistema o fuentes fuera de la organización del cliente? La respuesta a esta pregunta debería ser la tabla de correspondencia de objetos de datos y sus almacenamientos (el nombre y tipo de la base de datos, el nombre de la tabla o tablas en la base de datos).
  • 2) ¿La metainformación del contenido migrado permite el desarrollo de algoritmos de migración? ¿Es posible analizar la estructura de datos a partir de la metainformación?
  • 3) ¿Existen limitaciones tecnológicas del sistema fuente que afecten la estructura de datos, formas de almacenamiento y trabajo con datos? La respuesta a esta pregunta debe ser una descripción completa de las limitaciones tecnológicas del sistema de origen en el contexto de los objetos de datos para la migración.

El personal de TI y los usuarios comerciales deben trabajar juntos para evaluar la criticidad de los posibles errores al transferir datos de un sistema de origen a un sistema de destino. En particular, los usuarios comerciales y los departamentos de TI deben analizar la relación de los objetos de datos en el nivel de la base de datos utilizada para determinar la lista de posibles controles de integridad de datos al migrar al sistema de destino.

El desarrollo de requisitos para un perfil de datos para la migración debe completarse obteniendo una descarga de prueba de datos del sistema de origen (sistemas de origen) de acuerdo con el perfil de datos desarrollado. La carga de prueba resultante se utilizará para depurar el software de migración y evaluar la calidad de los datos proporcionados.

  • 3. Desarrollo de requisitos para la utilidad de migración.
  • 1) Requisitos para la limpieza y verificación de datos lógicos

Después de desarrollar los requisitos para el perfil de datos para la migración, es necesario desarrollar reglas para limpiar o transformar los datos descargados de los sistemas de origen para su correcta ubicación en el sistema de destino. Para ello, es necesario correlacionar los requisitos de negocio con el modelo de datos del sistema diseñado y la descripción del modelo de datos del sistema en funcionamiento.

Con el fin de determinar el nivel de calidad de los datos, se deben aplicar los siguientes tipos de controles lógicos dentro de cada objeto de datos en migración:

  • - ¿Se completaron todos los atributos obligatorios?
  • - ¿El tipo de datos físicos de cada atributo es el mismo en el sistema de origen y en el sistema de destino?
  • - ¿Las longitudes de los valores de atributo en el objeto de datos cumplen con los requisitos en el sistema de destino?
  • - ¿El formato de almacenamiento de datos (fechas, números decimales) coincide con los requisitos del sistema de destino?
  • - ¿Los identificadores de objetos de datos en el sistema fuente permiten distinguirlos sin ambigüedades?

Los requisitos para las comprobaciones lógicas deben documentarse en la especificación funcional de la utilidad de migración de datos.

Las inconsistencias identificadas en los datos para descargar se pueden eliminar de una de las siguientes maneras: los datos se pueden eliminar de la carga si no tienen valor comercial o se pueden convertir usando algoritmos específicos.

Para la ubicación correcta de los datos en el sistema de destino, se pueden desarrollar algoritmos de transformación de los siguientes tipos para objetos de datos:

  • - Los atributos obligatorios que faltan se pueden completar con valores predefinidos - "stubs".
  • - Los valores de atributo cuya longitud no coincida con los requisitos del sistema de destino deben acortarse.
  • - El formato de fecha del sistema de origen debe convertirse al formato de almacenamiento de las fechas del sistema de destino.
  • - El formato de almacenamiento de datos numéricos decimales debe convertirse al formato de almacenamiento de datos numéricos decimales en el sistema de destino.
  • - Deben convertirse los atributos cuyo tipo de datos físicos no coincida con los requisitos del sistema de destino. Por ejemplo, los valores de texto se pueden convertir a números enteros.

Los requisitos para los algoritmos de limpieza y transformación de datos, así como los tipos de objetos de datos a los que se aplicarán, deben fijarse en la especificación funcional de la utilidad de migración de datos.

2) Requisitos para nombrar entidades en el sistema receptor

Los requisitos para el desarrollo de algoritmos para nombrar entidades en el sistema de destino deben desarrollarse en caso de que no sea posible en el sistema de destino aplicar los algoritmos utilizados para nombrar entidades en el sistema o sistemas de origen.

Se deben desarrollar algoritmos para nombrar y numerar objetos de datos en los siguientes casos:

  • - Si se migran objetos de datos con el mismo significado empresarial desde dos sistemas de origen, se debe utilizar un algoritmo común en el sistema de destino para generar sus nombres y números.
  • - Si se usaron algoritmos en el sistema de origen para generar números de entidad que ya no son relevantes debido a cambios en los documentos regulatorios u organizacionales y administrativos.
  • - Si se usaron algoritmos en el sistema de origen para generar números de entidad que no cumplen con las reglas comerciales para trabajar con entidades en el sistema que se está diseñando.

Los requisitos para los algoritmos para generar nombres y números de entidades migradas deben fijarse en la especificación funcional de la utilidad de migración de datos.

3) Requisitos para la migración de datos de registro

Para realizar un seguimiento del estado del proceso de migración de datos, la utilidad de migración debe admitir el registro de la carga de datos en el sistema de destino. Al mismo tiempo, el registro de la utilidad de migración debe reflejar información sobre todas las comprobaciones lógicas realizadas y la eliminación de datos del conjunto de datos para cargarlos en el sistema de destino.

Los requisitos para el registro de la herramienta de migración deben documentarse en la especificación funcional de la herramienta de migración.

El registro de la utilidad de migración debe poder rastrear cada operación como parte del proceso de carga de datos en el sistema de destino.

Cada entrada del registro de migración de datos debe tener al menos el siguiente conjunto de atributos:

  • · Tipo de objeto de datos que se está migrando;
  • · Sistema de origen;
  • · Identificador único del objeto de datos en el sistema fuente;
  • · Identificador único del objeto de datos en el sistema receptor;
  • · Fecha y hora de carga de este objeto de datos;
  • · El nombre/número generado por la utilidad de migración para este objeto de datos, si se aplicó el algoritmo para generar nombres/números de entidades a este objeto de datos;
  • · Indicador: si el objeto de datos se migró al sistema receptor o se excluyó de los datos descargados;
  • · La razón por la cual el objeto fue excluido de los datos cargados es la composición de controles y reglas lógicas;
  • · Una descripción del error que ocurrió durante la migración del objeto de datos, si lo hubiere.

El atributo Descripción del error refleja un mensaje parametrizado de la utilidad de migración de datos si la utilidad de migración no pudo cargar el objeto de datos en el sistema de destino.

Si se establece un indicador para un objeto de datos: el objeto se eliminó de los datos migrados, entonces el atributo "Motivo de excepción de eliminación del objeto de datos" debe reflejar un mensaje parametrizado que describa el algoritmo de limpieza de datos, según el cual este objeto se eliminó de la datos migrados.

En el Apéndice 4 se proporciona un fragmento del registro de la utilidad de migración (Apéndice 4 - Fragmento del registro de la utilidad de migración).

Pruebas como parte del trabajo de migración de datos

El trabajo de prueba consta de los siguientes paquetes de trabajo:

  • 1. Pruebas primarias del software de migración para el cumplimiento de la especificación técnica;
  • 2. Pruebas comerciales del software de migración para el cumplimiento de los requisitos comerciales para los algoritmos de transformación de datos durante la migración;
  • 4. Probar la funcionalidad del sistema receptor después de colocar los datos migrados;

A continuación se muestra una secuencia de pasos que debe seguir el equipo del proyecto para llevar a cabo cada una de las etapas de prueba.

Las pruebas iniciales del software de migración deben identificar y eliminar fallas técnicas y defectos en la utilidad de migración desarrollada. Estas pruebas deben ser realizadas por el equipo de pruebas de acuerdo con los casos de prueba desarrollados. Al mismo tiempo, después de las mejoras del software, en caso de errores identificados, es obligatorio realizar pruebas de regresión de la utilidad.

Las pruebas comerciales del software de migración para el cumplimiento de los requisitos comerciales y los algoritmos de transformación de datos deben realizarse utilizando el registro de la utilidad de migración para garantizar la integridad de las comprobaciones y pruebas. El procedimiento para las pruebas comerciales puede ser el siguiente:

  • 1. Determine a partir del registro de la utilidad de migración los objetos de datos ignorados durante la carga.
  • 2. Asegúrese de que estos objetos en el sistema de origen cumplan las condiciones para aplicar controles lógicos o mecanismos de transformación.
  • 3. Si se encuentra una discrepancia, solucione el error en el funcionamiento de la utilidad de migración.

Los errores registrados durante las pruebas deben registrarse de tal manera que sea posible determinar sin ambigüedades la fuente de su ocurrencia: un algoritmo o una regla que funcionó incorrectamente.

Para las pruebas comerciales de la utilidad de migración, se pueden utilizar herramientas de prueba automatizadas. En su defecto, el conjunto de pruebas unitarias debería cubrir todos los posibles tipos de objetos de datos que se han migrado al sistema de destino, así como todos los controles y mecanismos de transformación diseñados para cada tipo.

Prueba de limpieza y carga de datos implica trabajar con datos obtenidos después del desarrollo de un paquete de requisitos para el perfil de datos migrados. La carga de prueba debe ser una herramienta para probar las siguientes características del software de migración:

  • - Trabajo de algoritmos de negocio, comprobaciones lógicas y mecanismos de transformación sobre datos reales;
  • - Eficiencia del software de migración en volúmenes de datos cercanos a productivos.

Trabajar con la carga de prueba es la etapa final de probar el software de migración. Después de procesar la carga de prueba por parte de la utilidad de migración, es posible estimar el tiempo planificado necesario para descargar toda la matriz de datos migrados. La colocación exitosa de la carga de prueba en el sistema de destino debe significar la aceptación interna de la utilidad de migración y la capacidad de continuar con el trabajo de descargar la producción: carga completa desde el sistema de origen al sistema de destino.

La limpieza de prueba y la carga de datos en el sistema de destino implica realizar todas las operaciones necesarias para la migración de datos al sistema de destino, incluida la prueba de la funcionalidad del sistema de destino. Esta etapa de prueba se describe con más detalle a continuación.

Probar la funcionalidad del sistema de destino debe brindar la oportunidad de verificar que todas las funciones del sistema que usan contenido migrado funcionan como se espera. En este caso, dicha prueba se puede llevar a cabo en dos etapas:

  • 1. Probar el rendimiento del sistema receptor;
  • 2. Prueba detallada de la funcionalidad del sistema receptor.

Para probar el estado del sistema receptor, inmediatamente después de que se complete el arranque, se debe escribir un breve script de prueba que indique exactamente qué se debe probar para la operatividad, por ejemplo:

  • - una lista de formularios de pantalla que deben abrirse,
  • - el número de objetos en directorios (diccionarios), que deben ser visibles para el usuario;
  • - el número de objetos en los registros del sistema que deben ser visibles para el usuario,
  • - una lista de las funciones del sistema que deben ejecutarse (construir informes, motores de búsqueda, acceso a objetos de datos migrados).

La prueba detallada de la funcionalidad del sistema de recepción implica el lanzamiento de todos los procesos comerciales automatizados para los cuales los datos de entrada son datos migrados. Si los datos cargados incluyen más de un tipo de objetos de datos, se deben proporcionar scripts de prueba para cada tipo de datos migrados. Los resultados de las pruebas de funcionalidad del sistema receptor deben registrarse en el registro de pruebas.

De acuerdo con el estándar ANSI, el registro de prueba de migración de datos (log) debe tener la siguiente estructura:

  • 1. Identificación del caso de prueba;
  • 2. Descripción de la operación dentro del caso de prueba;
  • 3. Descripción del error durante la ejecución de la operación dentro del caso de prueba;
  • 4. Impacto del error en la funcionalidad del sistema;
  • 5. Impacto del error en las operaciones de prueba relacionadas.

La descripción de la operación dentro del caso de prueba debe incluir:

a) Datos de entrada para la operación;

b) resultados esperados;

c) Resultados obtenidos;

d) Fecha y hora de la operación;

e) El número de intentos para realizar la operación;

f) Miembros del equipo de proyecto responsable de las pruebas;

g) Ambiente de operación dentro del caso de prueba.

En el Apéndice 5 se proporciona un fragmento del registro para probar la funcionalidad del sistema receptor (Apéndice 5 - Registro para probar los resultados de la migración).


como implementar software libre

Migrar a software libre es como migrar a un sistema operativo más nuevo. Como ejemplo, podemos mencionar la aparición de las primeras versiones de Windows en nuestro país. Un ejemplo igualmente llamativo es la migración a Windows NT, la ideología de trabajo en la que difería marcadamente de Windows 9x. Se puede dar un ejemplo más: cada nueva versión del paquete de MS Office difiere de la anterior no solo en las diferencias en la interfaz, sino también en los formatos de archivo. Por lo tanto, la tarea de migración es relevante incluso en el caso de que se utilice software de un solo fabricante.

Este artículo ofrece una descripción general de la metodología de migración con aspectos destacados de los puntos esenciales. El principio general de la migración es la implementación reflexiva y cuidadosa del proceso a través de cambios incrementales. La migración consta de varias secciones lógicamente integrales, etapas.

creación de un grupo de trabajo (quién lo hace)

Al implementar la migración, es necesario prever la solución de problemas de naturaleza técnica y no técnica.

Es importante considerar los problemas legales que recientemente se han vuelto extremadamente actuales para algunos países de la CEI, en particular, Ucrania. En algunos casos, tiene sentido discutir las tareas administrativas de la relación empleador-usuario-administrador. Históricamente, estas relaciones no han sido adecuadamente reguladas por normas e instrucciones corporativas internas.

Durante la elaboración del material se realizaron entrevistas a profesionales en el campo de la seguridad, derecho informático y administradores de sistemas. La gran mayoría manifestó la necesidad de documentar las reglas para que los usuarios trabajen con el sistema de información de la organización.

La planificación adecuada también incluye el manejo de asuntos financieros. Es necesario evaluar los costos de legalizar el sistema de información existente, el costo de introducir uno nuevo y evaluar el costo de propiedad en el futuro previsible.

Cualquier proyecto, incluido un proyecto de migración, puede enfrentarse a una subestimación del factor humano. Naturalmente, se requerirá la aplicación de métodos de gestión de recursos humanos. La mayoría de los administradores de sistemas y gerentes de TI conocidos por el autor no son especialistas en los campos de administración de personal o finanzas. Una tarea tan compleja no puede ser resuelta por un solo departamento de TI.

La primera tarea en el camino para migrar a un nuevo sistema de destino es crear un grupo de trabajo de planificación de la migración. Este grupo es el encargado de realizar la migración y, por tanto, debe tener facultades bastante amplias.

El objetivo del proyecto es construir una infraestructura de TI económicamente viable. Un buen candidato para el puesto de jefe del grupo de trabajo sería un alto directivo de una empresa u organización, por ejemplo, un director financiero. Naturalmente, este grupo incluye al jefe del departamento de TI, quien posee la visión de toda la infraestructura de TI, tanto en el presente como en el futuro. Como parte del grupo, se requiere un administrador de sistemas con experiencia, preferiblemente con experiencia en la operación de software libre. No se puede estimar el tamaño del grupo; en algunos casos, otros empleados de la empresa están involucrados si es necesario. Es posible involucrar a un consultor externo con experiencia o una empresa especializada en este tipo de soluciones. El resultado del trabajo de este grupo es un plan de migración detallado con una estimación del costo de la migración. O - explicaciones de la ineficiencia de la migración a soluciones gratuitas para la organización.

investigar (que es)

El primer paso debe ser una auditoría: una descripción del sistema existente (heredado).

No es ningún secreto que, con los años de informatización de "emergencia" aplicada sin tener en cuenta la recuperación de los fondos gastados en software, el resultado, por regla general, no solo fue económicamente, sino también tecnológicamente sistemas desequilibrados. Auditoría software empresa es una auditoria programas instalados, determinando el cumplimiento de sus requisitos de negocio.

El resultado del proceso de auditoría es:

Descripción especificaciones software instalado;

Lista de riesgos identificados asociados con el uso de software sin licencia;

Cálculo del costo de adquisición de licencias para el software instalado;

Cálculo del costo de eliminar e instalar software con licencia sin licencia;

Determinación de la conveniencia de un uso posterior del software;

Lista de riesgos identificados asociados con el uso del software;

inventario de software

Algunos estudios muestran que la mayoría de los líderes de las organizaciones prestan más atención a la funcionalidad del software que utilizan y mucho menos a respetar los derechos de los productos que utilizan.

Desafortunadamente, la mayoría de las organizaciones carecen de una cultura de TI. A veces, incluso los representantes del servicio de TI no saben realmente qué y dónde está instalado en las computadoras de los empleados, y los empleados comunes deciden e instalan de forma independiente productos de software obtenidos de fuentes dudosas.

El inventario de software ayuda a identificar el software sin licencia en una organización. Cabe destacar que este evento siempre es rentable. El resultado del inventario se puede utilizar para estimar los costos de legalizar el software utilizando tanto software libre como no libre.

Los líderes de las organizaciones a menudo están interesados ​​en una planificación financiera clara de los costos de uso y desarrollo de software. El interés de los altos directivos en tal detalle es bastante comprensible: la alta dirección de las empresas está interesada en convertir el software en un activo de las empresas, que se contabiliza, controla y desarrolla de manera similar a otros tipos de activos.

La auditoría de software es un procedimiento que, por regla general, lleva mucho tiempo, requiriendo personal altamente calificado y conocimiento de varias informaciones específicas en la etapa de análisis de la información. La recomendación puede ser contactar con una empresa especializada en estos servicios. Sin embargo, es bastante posible realizar una auditoría por parte del departamento de TI.

En algunas organizaciones, es inconveniente (a menudo imposible) realizar un inventario de software a gran escala al mismo tiempo. Las razones pueden ser el tamaño de la organización o la política de seguridad. Es necesario encontrar un compromiso entre la efectividad del inventario y los factores que complican tal proceso.

Hay dos opciones para la auditoría. La primera opción es una auditoría completa, que examina todas las instalaciones informáticas, red local y periferias. La ventaja de este método es alta precisión, la desventaja es el alto costo, el alto consumo de tiempo y las molestias para los usuarios. Las ventajas adicionales de este método son la capacidad de identificar el software instalado por los propios usuarios y estudiar los requisitos de software de los usuarios en sus lugares de trabajo utilizando cuestionarios especialmente preparados. La segunda opción es una auditoría de algunas instalaciones informáticas típicas, red local y periféricos. En este caso, la elección de los objetos de auditoría está dictada, por regla general, por las responsabilidades funcionales de los usuarios. Este método de aproximación reduce significativamente el costo del inventario, pero tiene un gran error.

Las organizaciones pequeñas pueden auditar e ingresar manualmente información sobre computadoras y servidores, así como el software instalado en ellos, en una hoja de cálculo simple. En este caso, debe indicar la presencia o ausencia de las licencias, certificados de autenticidad y acuerdos de derechos de autor necesarios para cada uno de los productos de software encontrados.

Para medianas y grandes, puede recomendar el uso de software especializado o invitar a una organización de terceros que se especialice en dichos servicios. En el proceso de elaboración del documento se trabajó en la revisión de las herramientas de inventario automático de software y hardware (se conocen los programas GASP, inventario de PC, MSIA). El eXponent Navigator (http://www.e-x.ru/pages/expnav.html), producido por eXponent, puede convertirse en una recomendación.

Navegador de exponentes

El producto está destinado a la revisión de hardware y software a través de la red. La información sobre las computadoras incluye información sobre los componentes (procesador, tarjeta madre, discos duros, módulos de memoria, tarjeta de video, tarjetas de red, impresoras y otros dispositivos), sistema operativo, controladores y software.

Según los creadores del programa, después de organizar la recopilación automática de información sobre las computadoras, es posible ver y organizar esta información, preparar informes impresos y publicaciones web, cargar datos en Microsoft Excel, XML y otros formatos. Capacidades:

Diagnósticos automáticos de configuración informática;

Recopilación automática de información sobre computadoras a través de la red;

Definición de equipos instalados;

Identificación de programas instalados;

Definición de características del archivo;

Clasificación avanzada, búsqueda y selección de datos;

Preparación de informes impresos;

Exportación de datos a MS Excel;

Generación automática de publicaciones web.

Existe una limitación en la versión gratuita del programa: representa hasta 25 computadoras; el costo de la licencia es de $1 por 1 computadora.

diseñamos (lo que queremos)

Los resultados procesados ​​del estudio del sistema existente son la base para modelar un nuevo sistema objetivo. Esta pregunta es extremadamente importante y compleja. Lo que complica la consideración de este problema es la histórica falta de familiaridad con el software libre, en particular Linux, por parte de la mayoría de los administradores de TI y administradores de sistemas.

Hay mucha literatura, incluso en ruso, sobre Linux, que describe las ventajas de esta plataforma desde un punto de vista tecnológico. Sin embargo, todas estas ventajas son importantes, junto con el problema principal: la existencia de una amplia gama de software de aplicación en diferentes direcciones. El mito de que existe una cantidad limitada de software de aplicación para uso corporativo, incluida la ofimática, se ha difundido mucho durante mucho tiempo y está muy extendido. La gran mayoría de estos mitos son creados y alimentados por los creadores y vendedores de software propietario y tienen poco que ver con la realidad. Desacreditar este mito no es el objetivo principal de este libro. Sin embargo, vale la pena señalar que, por ejemplo, la amplitud del software de aplicación es un fantasma absoluto, teniendo en cuenta los estándares históricamente establecidos para el intercambio de documentos. Entonces, por ejemplo, el editor de oficina estándar de facto es Microsoft Office, el editor de gráficos de trama es Adobe Photosop y Corel Draw es extremadamente común como gráficos vectoriales.

Otro problema suele ser la excesiva funcionalidad de los productos patentados, dictada no por las necesidades del mercado, sino por la opinión de los especialistas en marketing. Y por este exceso de funcionalidad, el usuario paga bastante dinero: el costo de una licencia por el derecho a usar programas, mayor complejidad de operación y mayores requisitos de hardware.

Recientemente, la situación ha cambiado: hay mucha información sobre la aplicación de Linux. Probablemente el mejor material sería este documento :-), que está planeado para cubrir muchos temas administrativos y técnicos.

Sin embargo, por el momento el documento solo se está creando y la información se puede encontrar en varias fuentes. Es imposible pasar por alto los materiales de Valery V. Kachurov, Nesov Artem "Análogos de los programas de Windows en Linux: una tabla de correspondencias". (http://linuxshop.ru/linuxbegin/win-lin-soft/). Este recurso contiene mucha información valiosa. Desafortunadamente, los autores parecen haber abandonado este trabajo. Esta sección del sitio normalmente no está disponible, pero se puede encontrar una copia de la hoja de cálculo en http://www.blif.net/modules.php?name=LinWin. Puede aconsejar los recursos de la Open Source Applications Foundation
(http://www.osafoundation.org/), especialmente http://www.osafoundation.org/desktop-linux-overview.pdf.

El resultado es:

Creación de un prototipo de estaciones de trabajo;

Cálculo del costo de las licencias para el software propuesto;

Entrenamiento de usuario;

Creación de un cronograma aproximado de implementación;

Lista de riesgos en la implementación de software libre;

Soporte para soluciones gratuitas;

Cálculo de la eficiencia económica del nuevo sistema hasta por cinco años.

proyecto piloto (prueba por combate)

Debido a la gran cantidad de factores en un sistema heredado, la gran cantidad de usuarios potencialmente afectados por la migración, se recomienda que la migración se pruebe a pequeña escala. Esta etapa es necesaria para probar y ajustar los planes de migración y el prototipo del nuevo sistema. Es el proyecto piloto que es la base para tomar una decisión sobre la introducción de un nuevo sistema de información basado en software de código abierto. El segundo valor del proyecto piloto es la oportunidad de informar a los usuarios sobre el nuevo sistema, para obtener comentarios de los usuarios. El tercer argumento a favor de un proyecto piloto será la posibilidad de determinar experimentalmente el costo del proyecto con mayor precisión.

Al elegir un objeto de prueba, es necesario encontrar una media dorada. Primero, el objeto seleccionado debe proporcionar datos confiables para la evaluación. En segundo lugar, la realización de un proyecto piloto no debería tener un impacto crítico en la forma de hacer negocios.

En esta etapa también se capacita a los administradores del sistema y usuarios finales: se entrega un prototipo de materiales metodológicos, documentación y recursos de Internet. Se recomienda que los usuarios que participen en el proyecto piloto “descarguen” y den la oportunidad de utilizar parte del tiempo para dominar el nuevo sistema.

La etapa experimental es especialmente demandada:

Si no se ha probado la posibilidad de migrar usuarios de un sistema heredado a un nuevo sistema;

Si hay escepticismo del usuario, eso podrá ralentizar el proceso de migración;

La organización carece de una cultura corporativa (que, lamentablemente, es común en la CEI);

Si hay recursos limitados para la migración a gran escala;

La organización es grande y el proyecto piloto no involucra a muchos usuarios;

Si los sistemas propietarios heredados han evolucionado rápidamente tanto en términos técnicos como en reducción de costos;

El efecto económico de la migración no se ha dilucidado completamente.

Para tener éxito, el proyecto piloto:

No debe referirse a un área crítica del negocio;

Debe ser lo suficientemente importante para el negocio;

No debe requerir un recurso excesivo de personas que ya están limitadas en el tiempo;

Debe tener un grupo de apoyo sustancial;

Debe ser provisto Retroalimentación con los usuarios (sistemas de mesa de ayuda);

No debe haber un período limitado en el ámbito de los demás (por ejemplo, un período importante para los negocios).

Dependiendo del tamaño de la organización, es posible una o más etapas experimentales para determinar con mayor precisión las cadenas y los costos de migrar a lo gratuito. Es importante evaluar sus resultados y determinar si la visión y las metas son prácticas o si deben cambiarse o incluso abandonarse. Los datos de estos proyectos piloto deben usarse para ajustar los planes y calcular el costo final. En el transcurso del experimento, es necesario aclarar las preguntas:

Descripción de las estaciones de trabajo prototipo;

Descripción de la configuración específica del usuario:

Costos promedio para implementar tipos de estaciones;

Transferir datos de un sistema heredado a uno nuevo;

Entrenamiento de usuario;

Cálculo del costo de implementación del software;

Soporte para soluciones gratuitas.

planificación (qué y cómo)

1. Cree un plan de migración. El plan de migración debe responder a las preguntas:

Descripción de las fases de construcción del sistema;

Identificación de necesidades de apoyo;

Descripción de la finalización de la migración.

De hecho, se toma la decisión final sobre cómo se llevará a cabo la migración. Se aprueba el costo estimado de la migración.

2. Descripción de las fases de construcción del sistema. Se debe realizar una evaluación de las fases de construcción del sistema que mejor respalden las necesidades prioritarias de los usuarios.

El plan debe responder a las siguientes preguntas:

¿En qué medida y en qué etapas se debe instalar e implementar el sistema para satisfacer mejor las necesidades del usuario?

¿Qué se requiere para cada fase de la migración a un nuevo sistema por parte de los clientes y usuarios del sistema de la organización?

¿Cuál será el impacto y el riesgo de usar el sistema en cada paso del incremento?

Las etapas de implementación del sistema deben estar claramente definidas en el plan de migración; los clientes, desarrolladores y usuarios deben ser conscientes. Las evaluaciones de riesgos deben completarse antes de completar el plan de construcción del sistema. Se debe asegurar que las estimaciones de planificación sean razonables, que el enfoque esté bien concebido de acuerdo con las prioridades de la organización y que el impacto potencial en los clientes y usuarios sea aceptable.

3. Determinación de las necesidades de apoyo. Se debe proporcionar un nivel óptimo de soporte para ayudar a los usuarios a utilizar el nuevo sistema. Además, los usuarios a menudo requieren el servicio de asistencia técnica para ayudarlos a comprender las capacidades generales del sistema de destino.

Los problemas que se abordarán incluyen:

¿Qué capacitación y asistencia operativa requerirán los usuarios?

¿Cuál es el nivel general de soporte de migración que los usuarios necesitarán para garantizar una migración exitosa?

¿Cómo lograr la aceptación del usuario del sistema de destino y evitar la resistencia del usuario a la implementación del nuevo sistema?

¿Cómo se notificará a los clientes y usuarios sobre los cambios inminentes en las funciones y servicios del sistema?

¿Es posible que una solución gratuita sea soportada por el departamento de TI de la organización, o la subcontratación sería la mejor opción?

El plan de migración debe centrarse en abordar estos problemas mediante la planificación de la asistencia al usuario en las áreas de:

Sistema de notificación de problemas;

Servicios de asistencia técnica para nuevos sistemas;

Asistencia técnica a usuarios que migran a nuevos sistemas;

Guías de usuario para la transición y más allá;

Capacitación para que los usuarios aprendan y se adapten al nuevo sistema, para realizar el mismo tipo de tareas;

Capacidad para probar el uso de nuevos sistemas;

Demostraciones sobre el uso de nuevos sistemas para mostrar a los usuarios existentes de sistemas heredados cómo funciona el nuevo sistema y cómo pueden realizar tareas comparables;

Superación de los problemas operativos actuales.

Durante la fase de educación del usuario, preste especial atención a aquellos que están comprometidos con el antiguo sistema y/o se oponen a los nuevos sistemas.

4. Descripción de la finalización de la migración. Después del final de cada nueva fase de implementación y capacitación, los desarrolladores e implementadores deben asegurarse de que los usuarios migren al nuevo sistema de destino de la manera más cómoda posible. El plan de migración debe permitir acelerar el esfuerzo de migración y eliminar el sistema heredado lo antes posible.

Es necesario prever el esfuerzo adicional que puede ser necesario para los "adoptadores más recientes" y otros usuarios que experimentan problemas imprevistos. Otro aspecto de esta actividad es evaluar el tiempo y el costo para completar la transición de todos los usuarios al nuevo sistema y eliminar los sistemas antiguos basados ​​en software propietario sin licencia.

Los líderes organizacionales, los desarrolladores y los implementadores deberían considerar incorporar varios enfoques para ayudar a migrar usuarios de sistemas heredados:

Informar a cada grupo de usuarios cómo y cuándo deben migrar sus tareas a nuevos sistemas, cómo cambia la carga de trabajo durante el período de migración desde sistemas heredados;

Establecer incentivos para pasar completamente a un nuevo sistema gratuito y eliminar las dependencias de los sistemas heredados;

Brindar asistencia (software y personal adicional) para convertir los datos heredados al nuevo sistema; - procedimientos para el desmantelamiento de sistemas heredados;

Archivo de datos de sistemas heredados y su almacenamiento.

migración (hacer)

Todo lo que queda en la última etapa es trabajar de acuerdo con el plan.

Gestione y controle activamente los procesos de migración:

Establecer criterios de medición y realizar un seguimiento de los pasos de migración y los costos de recursos para la migración;

Hacer revisiones periódicas de la situación y ponerlas en conocimiento, de acuerdo con el mandato y la política organizacional, a las personas involucradas (gerencia, gerentes de proyecto y patrocinador);

Establezca un sistema de seguimiento para administrar el progreso del proceso (progreso), los problemas, las resoluciones y otros problemas comerciales relacionados con la planificación de la migración y los planes de implementación.

Vadim Mashkov, UA-FOSS, [correo electrónico protegido]

Serguéi Berdachuk, 1.0 2006.12.01

Parecería que la presencia de un sistema de información (SI) ya existente debería simplificar y acelerar el desarrollo de un nuevo SI basado en el antiguo, pero en la práctica todo suele suceder exactamente al contrario. En primer lugar, dado que era necesario crear un nuevo IS, esto significa que el IS creado anteriormente se creó con fallas significativas y está repleto de varios errores.

Por lo general, de una IP que ha sido escrita a lo largo de los años por varios desarrolladores. Al mismo tiempo, la documentación del proyecto a menudo se encuentra en un estado miserable y, a veces, está completamente ausente. Los programadores "reales" no escriben documentación, y mucho menos documentan código. Por qué, porque todo es simple y transparente. Sin embargo, cuando observa su propio código después de medio año, es bastante difícil averiguar qué se hizo allí. Especialmente si se han realizado varios otros proyectos durante este tiempo.

Además, cada nuevo desarrollador generalmente no se molesta en estudiar cuidadosamente ni el código ni la arquitectura del sistema. Dado que los plazos siempre están "ardiendo", los "gadgets" simplemente se escriben para una solución temporal a un problema urgente. El resultado es una "gacha de avena" que consta de muchos módulos variopintos y, de alguna manera, tecnologías acopladas milagrosamente que a veces no son compatibles entre sí. La situación se ve agravada por el uso de sistemas de administración de bases de datos (DBMS) heredados para el almacenamiento de datos, como dbase-III, FoxPro o Clipper. La ausencia del concepto de transacción, y con un diseño e integridad referencial ineptos, conduce a numerosas violaciones de la integridad de los datos. Se puede considerar afortunado si el antiguo sistema usaba un DBMS, a veces hay creaciones que usan archivos de texto para almacenar datos (al migrar uno de estos sistemas, el autor tuvo que escribir un controlador especial para acceder a dicha base de datos).

Quizás el único punto positivo es la experiencia acumulada en la formación de requisitos para un IS recién desarrollado. Por otro lado, la experiencia de comunicarse con el antiguo sistema puede convertirse en un freno importante para la introducción de un nuevo producto. En la mayoría de los casos, esto ocurre debido a las diferencias en la construcción de la interfaz visual y las teclas de función utilizadas para realizar ciertas operaciones. Por lo tanto, el sistema operativo puede reservar algunas de las teclas de función para realizar ciertas acciones. Un ejemplo típico es el uso de la tecla "Enter" para pasar al siguiente elemento de un formulario editable en los circuitos integrados de DOS más antiguos. En las interfaces gráficas se suele utilizar la tecla “Tab” para este fin. Como resultado, recibimos una fuerte oposición de los usuarios al implementar nueva versión producto. Por supuesto, es posible emular el comportamiento de la interfaz UI (interfaz de usuario) del sistema anterior, pero es mejor hacerlo de manera opcional. Aquellos. introducir la capacidad de configurar el comportamiento del sistema en el módulo de configuración IS y, de forma predeterminada, utilizar la configuración correspondiente al sistema operativo actual. De lo contrario, el producto recién desarrollado será difícil de aprender para los nuevos usuarios que esperan que el programa se comporte de acuerdo con los estándares actuales.

En cuanto a trabajar con los datos almacenados del antiguo sistema, la situación es aún peor. La decisión de la dirección de utilizar parte de los módulos del antiguo sistema tendrá las consecuencias más graves. Por ejemplo, cuando nos enfrentamos a la tarea de desarrollar una nueva versión de la contabilidad del almacén, y la solución de otras tareas (contabilidad, etc.) será abordada por la versión anterior de IS. En este modo de operación, surge el problema de la migración de datos en modo de tiempo "real". Los gastos generales de mantener el trabajo de todos los módulos como un todo pueden exceder el costo de desarrollar una nueva versión de todos los módulos. Además, los costos pueden diferir en órdenes de magnitud, teniendo en cuenta las posibles pérdidas por las deficiencias del antiguo sistema y los errores en el intercambio y conversión de datos. Entonces, uno debe evaluar cuidadosamente la condición del antiguo IS y su viabilidad. Y lo que es más interesante, en la práctica, este problema generalmente no se ve afectado, hasta que ocurre: "Aquí crearemos un nuevo sistema y luego nos ocuparemos del acoplamiento con otro software y migraremos los datos".

Pero luego llega el momento en que el problema está maduro, el nuevo sistema está escrito y es hora de convertir y transferir datos al nuevo sistema. Al analizar la experiencia de migración de datos de una gran cantidad de diversos sistemas de información, se puede destacar un procedimiento típico de migración de datos, que incluye:

  • Análisis de los formatos de datos de la estructura de la base de datos antigua y de la nueva, elaboración de un plan de migración y transformación de datos;
  • Definición de interrelaciones entre tablas (jerarquías de objetos);
  • Determinar la secuencia de descarga de datos de acuerdo con la jerarquía de dependencias. A veces, pero no siempre (por ejemplo, cuando una nueva versión de la base de datos ya está en producción), puede ignorar las relaciones y simplemente deshabilitar todas las claves externas antes de la migración y volver a crearlas después de que se complete toda la manipulación de datos;
  • Ejecución de un script para cambiar objetos en la nueva versión de la base de datos;
  • Transferencia directa de datos con las transformaciones necesarias "sobre la marcha";
  • Ejecutar un script para restaurar índices deshabilitados, transformaciones adicionales, etc. después de que se complete el procedimiento de migración de datos.

La opción más sencilla suele ser crear un programa intermedio. Debe comunicarse con las bases de datos de origen y destino y realizar las transformaciones necesarias.

Arroz. 1. Opción con middleware para migración de datos


Una desventaja significativa de esta solución puede ser la carga de la red durante la transferencia de datos. Si la cantidad de datos es significativa, la comunicación de la red puede afectar en gran medida el rendimiento.

Una mejor solución podría ser precargar los datos antiguos en las tablas temporales del nuevo DBMS. Los DBMS modernos (por ejemplo, Oracle) generalmente contienen utilidades especiales que permiten la descarga muy rápida de datos externos en varios formatos. El propio módulo de migración está escrito en lenguajes de procedimiento integrados en el DBMS (por ejemplo, PL/SQL o Java). Puede aumentar significativamente la velocidad del procedimiento de migración debido al hecho de que los lenguajes de programación incorporados funcionan en su entorno "nativo", están optimizados para el DBMS de destino y no hay costos generales para el intercambio de datos a través de la red. .

Arroz. 2. Opción de migración de datos usando DBMS


A partir de la experiencia práctica de escribir dichos programas, me gustaría llamar la atención sobre el uso de métodos SQL por lotes que son compatibles con la mayoría de DBMS y lenguajes de programación (por ejemplo, los métodos addBatch() y executeBatch() en Java). La ejecución de una sola instrucción INSERT o UPDATE para una matriz de datos en lotes de 100 a 200 registros brinda una mejora significativa en el rendimiento, en comparación con la ejecución de esta instrucción en un bucle para cada registro por turno.

Las empresas modernas a menudo enfrentan la necesidad de migrar sus sistemas de información. Sin embargo, la implementación de este procedimiento debe estar precedida por una preparación cuidadosa, ya que hay muchos obstáculos en el camino.

Puede haber muchas razones para comenzar la transición a un nuevo sistema de información (IS), incluida la reducción de los riesgos asociados con la operación de plataformas obsoletas, llevar los sistemas de información a los estándares internacionales y aumentar la eficiencia de los procesos comerciales. Pero no importa cuál sea la tarea que tiene por delante la empresa, la transición de un SI a otro debe planificarse y prepararse cuidadosamente.

Problemas de migración

Cuando se trata de la migración de sistemas transaccionales, como ERP, facturación, procesamiento o ABS, la transición a un nuevo sistema es muy problemática. El punto es que los profesionales de TI deben garantizar la migración precisa de grandes cantidades de datos, manteniendo la operación paralela del sistema antiguo y nuevo para la reconciliación y el análisis de resultados.

Por ejemplo, tuve una experiencia de proyecto en uno de los bancos más grandes, donde se llevó a cabo la transición del sistema transaccional de la plataforma Informix, que ya no tiene soporte, a la plataforma Oracle. Al mismo tiempo, fue necesario llevar a cabo un análisis exhaustivo de los procesos comerciales, transferir repetidamente datos del sistema anterior al nuevo y verificar el cumplimiento de los resultados del trabajo de los sistemas nuevo y antiguo, teniendo en cuenta la duración de las normas del proceso. Es por eso que el período de migración fue de 14 meses. A veces, la operación paralela de dos sistemas puede continuar por más tiempo, pero incluso cuando se limita a varios meses, para garantizar la operación de un nuevo SI, es necesario asignar potencia de cómputo adicional y tiempo significativo para los empleados de la empresa. realizar simultáneamente tareas en dos sistemas.

Del sistema departamental al nivel empresarial

A menudo, la propiedad intelectual se actualiza como parte de la globalización y la centralización. Esto le permite reducir significativamente el costo de mantenimiento y actualización de los sistemas de software. De hecho, mantener una plataforma única que sirva a todos los empleados es mucho más fácil que mantener herramientas separadas para cada departamento. Por ejemplo, la migración exitosa de un sistema de control de inventario puede traer varios miles de departamentos de una gran organización a una sola plataforma y proporcionar una reducción significativa en los costos de TI. Sin embargo, debe recordarse que la mayor parte de la preparación en este caso recae en la coordinación de datos en varios formatos y representaciones, el desarrollo de nuevas regulaciones y la construcción de nuevos modelos de interacción de los empleados.

Otro aspecto importante- interfaces de integración con otros SI empresariales, especialmente los propios y específicos. Los problemas asociados con ellos pueden no ser tan notorios en la primera etapa, pero se identifican al establecer la interacción de varios departamentos con el sistema general. Y si para el antiguo sistema dichas interfaces ya se han implementado de forma programática u organizativa, entonces para el nuevo sistema es posible que deban desarrollarse de nuevo.

Debe recordarse que los pensamientos sobre la expansión de la funcionalidad del sistema pueden surgir ya durante la implementación del proyecto, al igual que el apetito surge al comer. Y esto significa que se requerirá mucho trabajo adicional.

Plan de ACCION

La experiencia de las actividades del proyecto de migración del sistema muestra que cualquier proyecto de este tipo requiere una preparación cuidadosa y debe ir acompañado de un plan individual. Sin embargo, independientemente del tipo de sistemas que se migren, el software, el tamaño de la base de datos, etc., el esquema general parece casi idéntico.

En la primera etapa, es necesario realizar una auditoría detallada, averiguando todos los requisitos para el modo de operación del nuevo sistema, entrevistando a todos los usuarios clave. Es importante entender cuántos datos, qué tipo de carga está involucrada, solo así los expertos podrán ofrecer la estrategia de migración correcta.

Los procedimientos en sí también deben pensarse cuidadosamente e incluir elementos tan importantes como las reglas para el acceso de los usuarios a los sistemas durante la migración, los procedimientos de reversión en caso de fallas y la interacción de varios especialistas involucrados en estos procesos.

Después de un acuerdo con el cliente, generalmente se elabora un plan detallado, que involucra varias etapas, a saber: copia de datos, su verificación, operación paralela de dos sistemas y una transición completa a una nueva plataforma. En mi opinión, lo principal en una migración de sistema organizada profesionalmente es la fluidez de este proceso para los usuarios que pueden comenzar a trabajar gradualmente, sin estrés, en un nuevo sistema automatizado.

Sin embargo, incluso una preparación minuciosa no siempre le evita subestimar los costos de mano de obra al transferir usuarios a los “nuevos rieles”. Este proceso incluye tanto la formación de los empleados de la compañía como su apoyo durante el periodo de adaptación al nuevo sistema.

En este artículo, nos gustaría sistematizar nuestra experiencia en la realización de migraciones de datos en grandes proyectos corporativos relacionados con la transición de Clientes para trabajar en configuraciones 1C:Enterprise 8.

Al mismo tiempo, el énfasis principal del artículo se pondrá, en primer lugar, en el componente tecnológico del proceso de migración. El componente organizativo también se ve afectado, pero en menor medida.

Términos y definiciones

La migración de datos se entiende comúnmente como una secuencia final de trabajo, un proyecto destinado a un movimiento masivo de datos de una sola vez desde los sistemas de origen (sistemas históricos) a un sistema receptor. Al mismo tiempo, se cancela la operación de estos datos en los sistemas de origen.

La migración de datos debe distinguirse de la integración de datos. La integración, a diferencia de la migración, es una parte permanente de la arquitectura de TI y es responsable del flujo de datos entre diferentes sistemas y almacenes de datos, y es un proceso, no una actividad de proyecto.

El esquema de migración en general se ve así:

Arroz. una

Sistemas históricos- bases de datos de la empresa del Cliente, que se prevé sustituir total o parcialmente durante la implantación del nuevo sistema.

Sistema receptor- sistema de destino, configuración arbitraria "1C:Enterprise 8".

Datos iniciales- datos descargados de sistemas históricos en un formato de archivo xls arbitrario. En este caso, el formato xls parece ser uno de los más convenientes, ya que la capacidad de cargar en un archivo xls está presente en muchos sistemas de contabilidad de "generación anterior".

Como alternativa moderna, es posible considerar el formato de archivos xml como un medio de transporte.

También hay opciones para usar una base de datos intermedia.

Transformación, conversión- el proceso de convertir datos sin procesar en datos para descargar. La transformación de datos se produce de acuerdo con las plantillas para la carga. El resultado de la transformación son los datos a cargar.

datos para descargar- datos a cargar en el sistema receptor. En este artículo, además de los datos de origen, se considera el formato xls.

Descargar plantillas de datos- descripción de las tablas de datos que se cargarán en el sistema de destino.

Etapas de la migración

Considere el proceso de preparación y realización de la migración paso a paso.

Las etapas organizativas de la migración incluyen los siguientes elementos:

· Definir la estrategia de migración. En esta etapa, el Contratista y el Cliente acuerdan la tecnología del trabajo de migración;

· Determinación de la composición del grupo de trabajo sobre migración. El grupo de trabajo debe incluir especialistas tanto del Contratista como del Cliente, que estén suficientemente familiarizados con la operación de los sistemas históricos (por parte del Cliente) y el sistema objetivo (por parte del Contratista);

· Plan preliminar de migración. El plan de migración se ajustará repetidamente durante el transcurso del proyecto;

· Periodos de fechas de descarga de datos de sistemas históricos, volúmenes de datos. Períodos de corte de datos para migraciones, fechas de prueba y migraciones finales. Esta informacion puede atribuirse al plan de migración;

· Composición de los datos a migrar. Datos de referencia, clasificadores, datos transaccionales, saldos, rotaciones, etc.;

· Cuestiones de comprobación de la calidad, corrección e integridad de los datos durante y después de la migración;

· Problemas de reversión al estado anterior en caso de fallas.

Detengámonos con más detalle en las etapas tecnológicas de la migración.

Arroz. 2

1.Preparación de plantillas de carga de datos

La plantilla de carga de datos contiene descripciones técnicas de las tablas de datos que se cargarán, algoritmos y reglas de carga para la plantilla actual.

Cada plantilla generalmente está destinada a una o más tablas relacionadas en el sistema de destino.

La plantilla especifica:

Descripción de todos los campos del archivo de datos xls a cargar, incluyendo:

o Nombre del campo

o Señal de campo obligatorio

o Ejemplo de llenado de campo

Nota

Descripción de las reglas de carga de la tabla del sistema de destino en función de los datos a cargar (orden en el caso de varias tablas relacionadas, algoritmos de búsqueda de campos clave, etc.)

· Descripción del llenado de los campos de las tablas del sistema de destino directamente en caso de que se prevea algo diferente a la transferencia de datos uno a uno desde el archivo de datos para la carga. Relevante para campos de referencia, por ejemplo.

En el curso de los trabajos en esta etapa, el Contratista también debe preparar un cargador de archivos de datos para la carga. En el caso de trabajar con archivos xls, esta tarea no es especialmente difícil.

2. Identificación de las fuentes de datos

Este paso puede comenzar junto con el paso anterior “1. Elaboración de plantillas de carga de datos”.

Como parte de esta etapa, los especialistas del Cliente determinan desde qué sistemas y qué datos se pueden cargar. También es necesario determinar qué datos Quizás puede ser necesario.

Como regla general, en proyectos de migración grandes, la identificación de una lista completa y exhaustiva de fuentes de datos puede llevar bastante tiempo y ocurre a medida que se realiza el trabajo en las etapas posteriores.

No es raro que se produzcan situaciones en las que, para garantizar la integridad de la información en el futuro, algunos datos deben transferirse desde fuentes impresas (digitalizadas) o incluso ingresarse en tablas a partir de las palabras de empleados clave del Cliente.

Sin embargo, en esta etapa, debe tratar de identificar la mayor cantidad posible de datos necesarios.

3. Descarga de datos iniciales

El proceso de descarga de datos de los sistemas históricos puede llevar una cantidad de tiempo suficiente, especialmente si hay muchos sistemas, son diferentes y diferentes departamentos del Cliente son responsables de ellos. Es necesario tener en cuenta este momento durante las migraciones de prueba y finales.

La opción más conveniente parece ser subir a archivos xls. Muchos sistemas de TI antiguos admiten esta opción.

También puede haber opciones para cargar en formato csv, dbf, xml y otros.

Cabe señalar que, por una u otra razón (problemas de seguridad, por ejemplo), ¡el Cliente no siempre puede proporcionar la carga de datos completa en esta etapa! Solo una estructura de datos y algunas posiciones de prueba. Por lo tanto, puede surgir una situación en la que durante las cargas de prueba y finales, se encuentren datos de baja calidad en las tablas de origen, lo que conducirá a errores no planificados.

Para minimizar este problema, los volúmenes de descargas de prueba de los sistemas históricos deben especificarse con anticipación.

4. Mapeo de datos

Mapeo (mapeo de datos) - en el caso general, el proceso de comparar datos de sistemas históricos y el sistema receptor. Es decir, los datos de origen y los datos a cargar.

La etapa de asignación es la etapa que consume más tiempo y puede ocupar más del 50 % de todo el trabajo de la tarea de migración.

En esta etapa, todo el grupo de trabajo del proyecto sobre migración está completamente involucrado.

En el proceso de mapeo de datos, es necesario distinguir las subetapas de mapeo de tablas y mapeo de campos.

· Mapeo de tablas, o mapeo de plantillas - comparación de tablas de datos iniciales y plantillas de datos para carga. La correspondencia puede ser 1:1 o N :N . Como resultado de este trabajo, se compila y mantiene un registro de mapeo de tablas. Este subpaso es necesario para el siguiente subpaso de mapeo de campos y para realizar un seguimiento del progreso general del mapeo.

Plantilla grupo 1C

Nombre de la plantilla 1C

Nombre del archivo-

fuente

Reglas para generar un archivo fuente

Responsable

Estado

Nota

NSI

Muestra_

Nomenclatura

Nomenk

latura.xls

En la selección de conjuntos del sistema N
. Guardar en texto
. Abrir en xls, columnas - texto
. La primera línea es el encabezado.
. Número de columnas - 15
. Verifique el número de líneas en txt y xls
. El nombre de la hoja siempre es "Hoja1"

Ivanov II

En el trabajo

· Asignación de campos: comparación de campos de tablas dentro de una asignación de tablas ya definida. El resultado de este trabajo es un registro de mapeo de campo.

N.º págs.

cl. campo

Requerido

Nombre de campo de plantilla 1C "Template_Nomenclature"

Descripción

Nombre de campo "Nomenclatura.xls"

Algoritmo de relleno

El código

Código de elemento de directorio

El código

Nombre

Nombre

Este grupo

Contiene uno de los siguientes valores:
. 1 - para grupos
. 0 - para elementos

Si la longitud del código = 11 caracteres y los últimos 4 caracteres<>"0000", entonces este elemento es "0", de lo contrario el grupo es "1".

Nombre completo

Nombre del elemento de directorio

Nombre

If ThisGroup =1 , Then "", ElseIf ThisGroup=0, then Name.

Como parte de esta etapa, también se deben realizar posibles trabajos de normalización de datos.

5. Elaboración de reglas de transformación

A diferencia de las etapas anteriores, esta etapa es técnica e involucra el trabajo del desarrollador del Contratista.

Con base en los registros de mapeo de campo acordados, los especialistas del Contratista desarrollan reglas de transformación de datos.

Para el trabajo operativo durante las etapas preparatorias de la migración y más allá, durante las migraciones de prueba y finales, es importante que haya un entorno conveniente para desarrollar reglas de transformación de datos (scripts) y un entorno para convertir los datos iniciales en datos para cargar.

Los requisitos para este entorno incluyen:

· Conveniencia y velocidad de desarrollo de las reglas de transformación;

· Velocidad de conversión de datos. ¡Los archivos de entrada y salida pueden tener cientos de miles de líneas!

· Capacidad para trabajar con múltiples archivos de entrada simultáneamente;

· Capacidad para guardar reglas de transformación en archivos separados.

Para nuestros proyectos de migración, hemos desarrollado una estación de trabajo de desarrollador especializada, basada en el procesamiento estándar de la "Consola de solicitudes" 1C.

Se ha mejorado el manejo de la "Consola de consultas" para permitir solicitudes directas a archivos xls.

Aquí hay un ejemplo de la combinación de dos archivos fuente xls Empleados.xls


Código de empleado

Apellido

Nombre

segundo nombre

Fecha de nacimiento

2423

Ivánov

Iván

ivanovich

17.11.1992

1523

Petrov

Albahaca

Alexandrovich

04.02.1991

4363

Sidorov

cirilo

Nikoláyevich

01.05.1995

Denisov

Denis

Denisovich

01.01.1990

y Operaciones.xls con paginas:

cancelaciones

Código de empleado

la fecha

Suma

2423

01.02.2014

1523

02.02.2014

4363

03.02.2014

04.02.2014

100000

2423

05.02.2014

1523

06.02.2014

4363

07.02.2014

2356

08.02.2014

140000

2423

09.02.2014

1523

10.02.2014

4363

11.02.2014

23523

12.02.2014

80000

y Ingreso:

Código de empleado

la fecha

Suma

01.05.2004

02.05.2004

03.05.2004

04.05.2004

2423Fecha de nacimiento

Cantidad recibida

cantidad de cancelación

Ivánov Iván Ivánovich

2423

17.11.1992

1341234

1010

Petrov Vasili Alexandrovich

1523

04.02.1991

245245

Denisov Denis Denisovich

01.01.1990

380000

320000

Sidorov Kirill Nikolaevich

4363

01.05.1995

613382

26336

TOTAL:

2579861

347842

Tenga en cuenta que el ejemplo es artificial, especialmente seleccionado para demostrar todas las etapas posibles de la transformación de la fuente de datos.

La secuencia tecnológica de las operaciones de transformación aquí es la siguiente:

Con el lenguaje de consulta de Access SQL (que proporciona características adicionales significativas en comparación con el lenguaje de consulta de 1C), se crea una consulta inicial que recupera datos del archivo xls en el entorno de 1C. Al mismo tiempo, en esta etapa ya son posibles varias comprobaciones y normalizaciones de datos.

La tecnología de acceso a datos ADO proporciona alta velocidad trabajar.

Arroz. 3

2. Solicitud en lenguaje 1C: la solicitud principal que implementa el algoritmo de mapeo de campos. Y también: enriquecimiento de los datos descargados con datos de la base de datos 1C, reagrupación, fusión con los resultados de consultas a otros archivos fuente xls, etc.

3. Posprocesamiento del resultado de la solicitud 1C, en caso de ser necesario. Se implementa mediante un script en lenguaje 1C.

Por ejemplo, aquí se implementa la adición de la línea "TOTAL" para las columnas de montos.

4. Grabación del conjunto de datos final en un archivo xls.

En el caso general, en la salida obtenemos los archivos finales para cargarlos en la base de datos 1C de destino.

Además, esta herramienta le permite guardar las reglas de conversión de datos en un archivo xml separado:

Además, es posible trabajar en por lotes, que es especialmente importante con una gran cantidad de datos migratorios heterogéneos.

En el transcurso de las etapas anteriores, finaliza la parte preparatoria del trabajo en su conjunto: se identifican todas las fuentes de datos, se descargan los datos iniciales de las fuentes, se preparan plantillas para cargar en la base de datos de destino, se prepara el mapeo de datos y, finalmente, se desarrollan scripts de transformación de datos.

Cabe señalar que antes de la migración final, definitivamente debe realizar varias pruebas. Durante las migraciones de prueba, el Contratista junto con los Clientes identifican:

errores de conversión, errores de carga de datos

llevar a cabo una evaluación preliminar de la calidad de los datos cargados en el sistema de destino

Con base en los resultados de las migraciones de prueba, elaboran/actualizan el plan de migración final

7. Verificación de datos

La verificación de la calidad de los datos descargados debe realizarse tanto después de las migraciones de prueba como al final de la migración final. Durante la conciliación, se pueden verificar los siguientes indicadores:

· Coincidencia de totales para saldos, para documentos;

Coincidencias cuantitativas, como el número de OS;

· Corrección del llenado de entidades selectivas separadas;

Tenga en cuenta que ciertas comprobaciones de la migración de datos y los problemas de normalización de datos deben abordarse en todos los procesos de migración. Siempre debe preguntarse qué se debe hacer en la etapa actual para evitar errores en las etapas posteriores.

Por ejemplo:

· Comprueba si hay duplicados por campos clave. Es posible y necesario realizar todavía sobre los datos iniciales;

· Tipos de campos de fundición;

· Integridad referencial;

· Inconsistencias matemáticas. Por ejemplo, la comprobación de campos numéricos vacíos, que se prevé dividir durante la transformación;

· En general, verificar el llenado obligatorio de los campos;

· Sustitución de caracteres incorrectos. Por ejemplo, caracteres ingleses en campos cirílicos ("o", "a", "e", etc.) ¡Esto es especialmente cierto para los campos clave!

Verificación de los valores de los campos de cadena para el cumplimiento de los tipos del sistema receptor (restricciones de longitud)

Una vez completada la migración final, de acuerdo con una estrategia de migración y un plan de migración predeterminados, se toma una decisión sobre el funcionamiento posterior de los sistemas heredados.

A menudo, la operación se completa inmediatamente después de la conciliación final de los datos y el éxito de la migración: los usuarios del nuevo sistema ya no mantienen registros en paralelo en dos sistemas, sino que cambian por completo al nuevo sistema. Al mismo tiempo, el acceso al antiguo sistema se conserva en modo lectura.

En algunos casos, la operación paralela de dos sistemas puede ocurrir durante el período de operación de prueba (OE) e incluso más que este período. La cuestión del trabajo paralelo de los usuarios en dos sistemas está estrechamente relacionada con la cuestión de la posibilidad de una reversión al antiguo sistema, si la migración (¡o, en general, la operación del nuevo sistema!) se considera insatisfactoria.

Conclusión

En conclusión, me gustaría señalar que cuando se trata de la migración de grandes sistemas transaccionales, que incluyen muchas configuraciones de 1C:Enterprise, la transición a un nuevo sistema puede llevar mucho tiempo.

Por lo tanto, debe recordarse que cualquier proyecto de este tipo requiere una preparación cuidadosa y debe ir acompañado de un plan individual. Sin embargo, independientemente del tipo de sistemas que se migren, el volumen de las bases de datos, etc., el esquema general de migración parece casi idéntico.