Sweet Cherry (pronunciado / m ə . ʁ i z /) es un método de análisis, diseño y gestión de proyectos por computadora .
Merise fue ampliamente utilizado en las décadas de 1970 y 1980 para la informatización masiva de organizaciones. Este método sigue siendo adecuado para la gestión de proyectos internos en las organizaciones, limitándose a un área específica. Por otro lado, es menos adecuado para proyectos interorganizacionales , que a menudo gestionan información de naturaleza social (medioambiental y social) con las partes interesadas .
Resultado de un análisis sistémico , el método Merise es el resultado del trabajo realizado por René Colletti, Arnold Rochfeld y Hubert Tardieu en la década de 1970 y que formó parte de una reflexión internacional , en particular en torno al modelo relacional de Edgar Frank Codd . Se convirtió en un proyecto operativo a principios de la década de 1980 a pedido del Ministerio de Industria, y ha sido utilizado sobre todo en Francia , por las empresas de servicios de TI de sus miembros fundadores ( Sema-Metra , así como por CGI Informatique ) y principalmente para proyectos de gran envergadura, en particular grandes administraciones públicas o privadas.
Merise , un método específicamente francés, experimentó inmediatamente la competencia internacional de métodos anglosajones como SSADM (en) , SDM / S o Axial. Luego buscó adaptarse a los rápidos cambios en las tecnologías de TI con Merise / objet , luego Merise / 2 intentó adaptarse al cliente-servidor . Merise fue una importante corriente de reflexiones sobre un "método del euro" que no logró abrirse paso.
En el libro de referencia que presenta el método Merise , el prefacio escrito por Jacques Lesourne introdujo una analogía con el cerezo "que sólo puede dar frutos hermosos si se le injerta una rama de cerezo: este es el caso de los métodos informáticos". diseñado, que solo produce buenos resultados si el injerto en la organización es exitoso ” , aunque muchas personas han querido verlo como un acrónimo como Método de Estudio y Realización de Computación por Subconjuntos o para Sistemas de 'Negocios , los más comunes El acrónimo entre malas lenguas es Método probado para retrasar indefinidamente la graduación .
En la segunda generación de Merise, la definición general del sistema incluye los siguientes pasos:
El método Merise es un método para analizar, diseñar y construir sistemas de información .
Upstream, fue una extensión natural de un plan maestro , muchas veces realizado con el método ROOTS , que está muy presente en el sector público en particular .
Los proyectos Merise eran generalmente proyectos a gran escala de rediseño de un complejo existente en un entorno de gran sistema . El método también ha conocido intentos de adaptación con DBMS relacionales, diferentes interfaces hombre-máquina HMI , orientado a objetos , microdesarrollo, herramientas CASE , ingeniería inversa ... pero que no han conocido el mismo éxito.
El método es esencialmente francés. Tiene equivalentes en el extranjero con respecto a los modelos de datos (con diferencias, por ejemplo las cardinalidades no son tan detalladas en los modelos anglosajones). Por otro lado, el modelado de los tratamientos es mucho más complejo que en los métodos anglosajones.
Su implementación puede parecer engorrosa. Se dedica mucho tiempo a diseñar y documentar previamente antes de comenzar a codificar, lo que podría haber parecido necesario en un momento en que los recursos informáticos no estaban tan extendidos como en la actualidad. Sin embargo, evita el escollo inverso del microdesarrollo, que adolece de falta de documentación y donde los errores son, en última instancia, muy costosos de reparar a posteriori .
Incluso si los intercambios y consultas entre diseñadores y usuarios están formalmente organizados, Merise también ha sido criticada por utilizar un formalismo considerado complejo (especialmente para modelos de datos), que primero debe aprenderse a manejar, pero que luego constituye un verdadero lenguaje común, poderoso y riguroso para quienes lo dominan.
La articulación altamente codificada y bien marcada de las diferentes etapas, con una descripción muy precisa de los resultados esperados, es lo que sigue siendo hoy más conocido y más utilizado.
El método de análisis y diseño Merise ofrece un enfoque articulado simultáneamente a lo largo de 3 ejes para priorizar las inquietudes y preguntas a responder durante la realización de un proyecto:
El método Merise, muy analítico (método de atención sistémica), distingue claramente los datos y los tratamientos, incluso si las interacciones entre los dos son profundas y enriquecedoras entre sí (validación de los datos por los tratamientos y viceversa). Algunos autores (Merise / méga, luego Merise / 2) también han aportado la noción complementaria de comunicación, vista en el sentido de los mensajes intercambiados. Hoy, con el DBMS-R, el objeto, los conceptos de datos y procesamiento están cada vez más entrelazados.
La literatura habla de una “curva del sol”, estableciendo una analogía entre el enfoque de Merise y el amanecer y luego el atardecer: de igual manera, el proyecto debe desarrollar un análisis crítico de lo existente (partiendo del nivel físico y desde el conceptual: enfoque de abajo hacia arriba , fase ascendente de la curva), luego declinar la solución elegida (partiendo del nivel conceptual y volviendo al nivel físico: enfoque de arriba hacia abajo , fase descendente de la curva).
El inventario de lo existente es muy criticado hoy en día, porque aumenta la duración del proyecto y fomentaría la renovación de las soluciones existentes. Sin embargo, parece bastante razonable comenzar con una revisión del pasado. En este punto, el enfoque Merise es el opuesto a los métodos iterativos tipo RAD , o la adopción sistemática de buenas prácticas observadas en otras empresas del sector, que constituyen un enfoque típico en la implementación de paquetes de software. Merise / Mega también insiste mucho más en el análisis del estado del arte para buscar soluciones innovadoras.
El estudio conceptual de Merise se centra en las invariantes de la empresa o de la organización desde el punto de vista de la profesión: cuáles son las actividades, las profesiones que gestiona la empresa, cuáles son los principales procesos tratados , de qué se trata- en términos de datos , ¿qué nociones manejamos? ... y esto independientemente de las opciones técnicas (¿cómo lo hacemos?) u organización (¿quién hace qué?) que solo se abordarán en los niveles siguientes.
A nivel conceptual queremos describir, después de la abstracción , el modelo (el sistema ) de la empresa u organización:
Idealmente, los MCD y MCT de una empresa son estables, con un alcance funcional constante y siempre que el negocio de la empresa no varíe. El modelado no depende de la elección de un paquete de software u otro, si las tareas a realizar están automatizadas o no, una organización u otra, etc.
MCD: modelo de datos conceptualEl MDL se basa en las nociones de entidad y asociación y en las nociones de relaciones. El modelo de datos conceptual se ocupa de describir la semántica del dominio ( entidad / relación en inglés)
Entidad u objetoLa entidad se define como un objeto de gestión considerado de interés para representar la actividad a modelar (ejemplo: entidad país). A su vez, cada entidad (u objeto ) lleva una o más propiedades simples, llamadas atómicas (ejemplos: código, nombre, capital, población, área), una de las cuales, única y discriminatoria, se designa como un identificador (ejemplo: codificado). .
La entidad representa el concepto que se declina, en concreto, en las ocurrencias de los individuos.
Por ejemplo :
son dos ocurrencias de la entidad "país" y están formadas por tuplas de propiedades, que el código FR o DE es suficiente para identificar sin riesgo de duplicación.
Por construcción, el MCD impone que todas las propiedades de una entidad deben ser completadas (no hay una propiedad “opcional”).
El MCD debe contener preferiblemente solo el núcleo de la información estrictamente necesaria para llevar a cabo el procesamiento conceptual (cf. MCT). No se debe incluir información calculada (p. Ej., Cantidad que incluye impuestos de una factura), deducible (p. Ej., Densidad demográfica = población / área) y, a fortiori, información relacionada con las opciones organizativas diseñadas para llevar a cabo el procesamiento (ver MOT).
Asociación o relaciónLa asociación es un vínculo semántico entre entidades:
Una asociación también puede ser portadora de una o más propiedades (por ejemplo: 'fecha de establecimiento' de una fábrica en un país)
Esta descripción semántica se enriquece con la noción de cardinalidad , que indica el número mínimo (0 o 1) y máximo (1 o n) de veces que cualquier ocurrencia de una entidad puede participar en una asociación (ej: una fábrica se establece en una (tarjeta mínima = 1) y solo un país (tarjeta máx. = 1); y, a la inversa, un país puede ser objeto de ninguna (tarjeta mínima = 0) establecimiento de fábricas o de varias (tarjeta máx. = n). tener las siguientes combinaciones
Hay dos tipos de asociaciones: CIF (restricción de integridad funcional) y CIM (restricción de integridad múltiple ). Los CIF tienen la particularidad de ser binarios y tener una cardinalidad mínima de 0 o 1 y una cardinalidad máxima de 1 o n, además no llevan propiedades. Los CIM son n-arios y tienen todas sus cardinalidades máximas an, además pueden ser portadoras de propiedades. Las asociaciones ya no se utilizan hoy con el advenimiento de la programación MVC. No se supone que el Modelo controle los datos, el trabajo del controlador.
MCT: modelo conceptual de tratamientosEl MCT se basa en las nociones de evento y operación, sigue la de proceso.
EventoUn evento puede asimilarse a un mensaje que lleva información y por lo tanto datos potencialmente memorizables (por ejemplo: el evento 'pedido de cliente a tener en cuenta' contiene al menos la identificación del cliente, las referencias y las cantidades de cada uno de los productos pedidos .).
Un evento puede:
Una operación se desencadena solo por el estímulo de uno o más eventos sincronizados
Se compone de un conjunto de acciones correspondientes a reglas de gestión a nivel conceptual, estables durante la vida útil de la futura aplicación (por ejemplo, para tener en cuenta un pedido: comprobar el código del cliente (presencia, vigencia), comprobar la disponibilidad de los artículos pedidos ...).
El progreso de una operación es ininterrumpible: las acciones a realizar en caso de excepciones, los eventos de resultado correspondientes deben describirse formalmente (por ejemplo: utilizando el ejemplo anterior, si el código de cliente indicado en el pedido es incorrecto, planifique su búsqueda desde el nombre o dirección indicada en el pedido, si se trata de un nuevo cliente planificar su creación y la información a memorizar ...)
ProcesoUn proceso es una vista del MCT correspondiente a una secuencia de operaciones relevante desde el punto de vista del análisis (por ejemplo, todos los eventos y operaciones que tienen lugar entre la toma en cuenta de un nuevo pedido y la entrega de artículos al cliente). .
En este nivel de preocupación, los modelos conceptuales se especifican y son objeto de elecciones organizativas. Estamos construyendo :
Como sugiere su nombre, el estudio organizacional se centra en cómo organizar los datos de la empresa (MLD) y las tareas o procedimientos (MLT). Sin embargo, las opciones de implementación técnica, tanto para los datos (elección de un DBMS ) como para el procesamiento ( software , paquete de software ), solo se realizarán en el siguiente nivel.
La forma en que se conservará el histórico de datos también forma parte de este nivel de preocupación.
LDM: modelo de datos lógicos(también llamado derivación) del CDM en un formalismo adecuado para una implementación posterior, a nivel físico, en forma de una base de datos relacional o de red, u otras (ej .: archivos simples).
La transcripción de un MDL a un modelo relacional se realiza según unas sencillas reglas que consisten primero en transformar cualquier entidad en una tabla, con el identificador como clave primaria , luego en observar los valores tomados por las cardinalidades máximas de cada uno. (. ex: tarjeta max 1 [1- asociación para representar esta ya sea 1 o 0- 1 ]) mediante la adición de una clave externa a una tabla existente, o (ex: tarjeta de n max [0-. N o 1 - N ]) creando una nueva tabla cuya clave primaria se obtiene por concatenación de claves externas correspondientes a entidades relacionadas, ejemplo:
Cada vez más, estamos viendo una nueva forma de escribir el modelo relacional:
PAYS(code_pays)country_code : clave principal de la relación COUNTRY
USINE(id_usine, code_pays, date_implantation)plant_id : clave principal de la relación FACTORY
country_code : clave externa de la relación FACTORY con referencia al country_code de la relación COUNTRY
EXPORT(id_usine, code_pays)factory_id + country_code : clave primaria de la relación EXPORTAR [concatenación de factory_id y country_code]
plant_id : clave foránea de la relación EXPORT con referencia a plant_id de la relación FACTORY
country_code : clave externa de la relación EXPORT con referencia al country_code de la relación COUNTRY
Los operadores del álgebra relacional (operadores de proyección, selección, unión , conjunto) se pueden aplicar directamente al modelo relacional así obtenido y normalizado. (Consulte Lenguaje de consulta y formas normales ).
Este enfoque algorítmico no aporta, a este nivel, ningún elemento sobre la optimización de la duración o los recursos necesarios para ejecutar los tratamientos en el entorno de producción objetivo.
La transcripción del MCD a MLD también debe ir precedida de un paso de sincronización y validación de los modelos de datos (MCD) y de procesamiento (MCT y MLT), mediante vistas. Esto con el fin de introducir la información organizacional definida en el MLT, eliminar las propiedades conceptuales no utilizadas en el procesamiento o redundantes y finalmente verificar que los datos usados para un procesamiento sean efectivamente accesibles por 'navegación' entre las entidades / relaciones MCD.
MLT: modelo lógico de procesamientoEl MLT , también llamado MOT para "modelo organizacional de procesamiento", describe con precisión la organización que se pondrá en marcha para realizar una o, si es necesario, varias operaciones que aparecen en el MCT . Responde a las siguientes preguntas: ¿quién? Qué ? o ? Cuándo ? Por lo tanto, hay generalmente varios MLT correspondientes a un MCT .
Los conceptos introducidos en este nivel son: el puesto de trabajo, la fase, la tarea y el procedimiento.
Escritorio La estación de trabajo describe la ubicación, las responsabilidades y los recursos necesarios para cada perfil de usuario en el sistema. Por ejemplo, se pueden identificar los siguientes perfiles: cliente web, gerente de ventas, gerente de inventario, etc. La frase La fase es un conjunto de acciones (cf. la noción de funcionamiento del MCT) que se llevan a cabo en la misma estación de trabajo. La fase puede ser:Las respuestas dadas en este último nivel permiten establecer la forma concreta en que se implantará el sistema.
Un proyecto desarrollado según el método Merise se compone de diferentes fases:
Peter Chen presenta la siguiente clasificación de los diferentes modelos de “entidad-asociación”:
Merise usa un "modelo" con entidades, atributos (o propiedades) y relaciones (o asociaciones)
En términos formales, diremos que un MDL es invariante.
Especificamos conjuntos, relaciones a las que damos propiedades (función (total o parcial), función inyectiva, sobreyectiva, relación no especificada). Usamos para esto "cardinalidades" (llamadas en UML , multiplicidades). Hay 16 casos de relaciones.
En términos de matemáticas de conjuntos, un atributo es una función. Por ejemplo, birth_date es una función de People establecida en Dates , death_date es una función parcial de People establecida en Dates .
Las funciones (en el sentido matemático) se expresan mediante lo que se llama "clave" (el mismo significado que el del "modelo relacional n-ario" de Codd ) y también mediante "cardinalidades" (0-1 para funciones parciales) y (1-1 para funciones totales). Cuando la función tiene como parte izquierda un producto cartesiano entre entidades de diferentes tipos (entre varios rectángulos), hablamos de CIF (Functional Integrity Constraint).
El método Merise a menudo se reconoce como un método adecuado para modelar grandes proyectos. Por otro lado, a veces se cuestiona su capacidad para modelar proyectos cortos y de tamaño modesto. Muchos coinciden en que, de hecho, su uso debe ser modulado de manera flexible de acuerdo con la naturaleza del proyecto y no de una manera excesivamente rígida. Algunos afirman que no sería adecuado para entornos distribuidos, donde múltiples aplicaciones externas a un dominio llegan a interactuar con la aplicación a modelar; esto puede resultar muy sorprendente dado que este método desarrolla aspectos de la computación distribuida en profundidad, en particular en el trabajo de Hubert Tardieu, Arnold Rochfeld y René Colletti que se ocupa de él (ver bibliografía más abajo). Merise no parece, según algunos, adaptado por otro lado para modelar información de carácter semántico , como los documentos ... Cabe señalar, por un lado, que el método ha sido objeto de trabajo adicional en el 1990 dentro de AFCET ( Asociación Francesa de Cibernética Económica y Técnica ). Por otro lado, continuó con reflexiones, lideradas por Mokrane Bouzeghoub y Arnold Rochfeld sobre arquitecturas informáticas y orientaciones de objetos.
Sobre métodos de urbanización o modelado:
Sobre la gestión de proyectos :
En las articulaciones :