
La ingeniería de métodos en el campo de los sistemas de información es la disciplina que se dedica a construir nuevos métodos a partir de métodos existentes. [ 2 ] Se centra en el diseño, la construcción y la evaluación de métodos, técnicas y herramientas de apoyo para el desarrollo de sistemas de información . [ 3 ]
Además, la ingeniería de métodos "busca mejorar la utilidad de los métodos de desarrollo de sistemas mediante la creación de un marco de adaptación en el que se crean métodos que se ajustan a situaciones organizativas específicas". [ 4 ]
Tipos
Ingeniería de métodos asistida por ordenador
El proceso de modelado de metaprocesos a menudo no se apoya en herramientas de software, denominadas herramientas de ingeniería de métodos asistida por computadora (CAME) o herramientas MetaCASE (herramientas de ingeniería de software asistida por computadora de nivel meta). Con frecuencia, la técnica de instanciación "se ha utilizado para construir el repositorio de entornos de ingeniería de métodos asistida por computadora". [ 5 ] Existen muchas herramientas para el modelado de metaprocesos. [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ]
Adaptación del método
En la literatura, diferentes términos se refieren a la noción de adaptación de métodos, incluyendo "adaptación de métodos", "adaptación de fragmentos de métodos" e "ingeniería de métodos situacionales". La adaptación de métodos se define como:
Un proceso o capacidad en el que los agentes humanos, mediante cambios reactivos e interacciones dinámicas entre contextos, intenciones y fragmentos de métodos, determinan un enfoque de desarrollo de sistemas para una situación de proyecto específica. [ 11 ]
Potencialmente, casi todos los métodos ágiles son adecuados para la adaptación de métodos. Incluso el método DSDM se utiliza para este propósito y se ha adaptado con éxito en un contexto CMM . [ 12 ] La adecuación a la situación puede considerarse una característica distintiva entre los métodos ágiles y los métodos tradicionales de desarrollo de software, siendo estos últimos relativamente mucho más rígidos y prescriptivos. La implicación práctica es que los métodos ágiles permiten a los equipos de proyecto adaptar las prácticas de trabajo según las necesidades de cada proyecto. Las prácticas son actividades y productos concretos que forman parte de un marco de método. En un nivel más extremo, la filosofía subyacente al método, que consta de una serie de principios , podría adaptarse. [ 11 ]
Ingeniería de métodos situacionales
La ingeniería de métodos situacionales es la construcción de métodos que se ajustan a situaciones específicas de proyectos de desarrollo. [ 13 ] Se puede describir como la creación de un nuevo método por
- seleccionar componentes de método apropiados de un repositorio de componentes de método reutilizables,
- adaptando estos componentes del método según corresponda, y
- integrar estos componentes del método adaptados para formar el nuevo método específico para cada situación.
Esto permite la creación de métodos de desarrollo adecuados para cualquier situación de desarrollo. Cada desarrollo de sistema comienza entonces con una fase de definición de métodos donde el método de desarrollo se construye in situ. [ 4 ]
En el desarrollo de negocios móviles, existen métodos específicos para cada etapa del proceso de diseño del modelo de negocio y el desarrollo de las TIC. La ingeniería de métodos situacionales permite combinar estos métodos en uno solo, adaptado a las características de los servicios de TIC móviles.
Proceso de ingeniería de métodos
Los desarrolladores de los lenguajes de modelado IDEF , Richard J. Mayer et al. (1995), desarrollaron un enfoque inicial para la ingeniería de métodos a partir del estudio de las prácticas comunes de ingeniería de métodos y la experiencia en el desarrollo de otros métodos de análisis y diseño . La siguiente figura proporciona una vista orientada a procesos de este enfoque. Esta imagen utiliza el método IDEF3 Process Description Capture para describir este proceso, donde los recuadros con frases verbales representan actividades, las flechas representan relaciones de precedencia y las condiciones de "o exclusivo" entre posibles rutas están representadas por los recuadros de unión etiquetados con una "X". [ 1 ]

Según este enfoque, existen tres estrategias básicas en la ingeniería de métodos: [ 1 ]
- Reutilización : una de las estrategias básicas de la ingeniería de métodos es la reutilización. Siempre que sea posible, se adoptan los métodos existentes.
- A medida : encontrar métodos que satisfagan las necesidades identificadas con modificaciones mínimas. Esta opción resulta atractiva si la modificación no requiere un cambio fundamental en los conceptos básicos ni en los objetivos de diseño del método.
- Nuevo desarrollo : Solo cuando ninguna de estas opciones sea viable, los diseñadores de métodos deberían intentar desarrollar un nuevo método.
Estas estrategias básicas pueden desarrollarse en un proceso similar al de desarrollo de conceptos.
Enfoque de ingeniería del conocimiento
El enfoque de ingeniería del conocimiento es el mecanismo predominante para la mejora de métodos y el desarrollo de nuevos métodos. En otras palabras, con muy pocas excepciones, el desarrollo de métodos implica aislar, documentar y empaquetar la práctica existente para una tarea determinada de una forma que promueva el éxito confiable entre los profesionales. Las sintonías de los expertos se caracterizan primero en forma de intuiciones básicas y conceptos de método. Estos se identifican a menudo inicialmente mediante el análisis de las técnicas, diagramas y expresiones utilizadas por los expertos. Estos descubrimientos ayudan en la búsqueda de métodos existentes que se pueden aprovechar para ayudar a los profesionales novatos a adquirir las mismas sintonías y habilidades. [ 1 ]
El desarrollo de nuevos métodos se logra estableciendo el alcance del método, refinando las caracterizaciones de los conceptos e intuiciones del método, diseñando un procedimiento que brinde tanto la realización de la tarea como apoyo básico de aprendizaje a los profesionales novatos, y desarrollando uno o varios lenguajes de expresión. Posteriormente, se desarrollan técnicas de aplicación del método que describen pautas para su uso de forma independiente y en conjunto con otros métodos. Cada elemento del método se somete luego a un refinamiento iterativo mediante pruebas de laboratorio y de campo. [ 1 ]
Proceso de diseño del lenguaje del método
El proceso de diseño del lenguaje del método es altamente iterativo y experimental. A diferencia del desarrollo de procedimientos, donde se puede identificar, combinar y refinar un conjunto de heurísticas y técnicas de la práctica existente, los diseñadores de lenguajes rara vez encuentran mecanismos bien desarrollados de visualización gráfica o captura de información textual. Cuando se encuentran estructuras de lenguaje potencialmente reutilizables, a menudo están mal definidas o solo se adaptan parcialmente a las necesidades del método. [ 1 ]
Un factor crítico en el diseño de un lenguaje de método es establecer claramente el propósito y el alcance del método. El propósito del método define las necesidades que debe abordar. Esto se utiliza para determinar la capacidad expresiva requerida del lenguaje de apoyo. El alcance del método establece la amplitud y profundidad de la cobertura, que también debe definirse antes de diseñar una estrategia de diseño de lenguaje adecuada. La determinación del alcance también implica decidir qué actividades cognitivas se apoyarán mediante la aplicación del método. Por ejemplo, el diseño del lenguaje puede limitarse a mostrar únicamente los resultados finales de la aplicación del método (como al proporcionar a IDEF9 herramientas de lenguaje gráfico y textual que capturen la lógica y la estructura de las restricciones). Alternativamente, puede ser necesario un lenguaje de apoyo durante el proceso que facilite la recopilación y el análisis de información. En esos casos, se pueden diseñar construcciones de lenguaje específicas para ayudar a los profesionales del método a organizar, clasificar y representar la información que posteriormente se sintetizará en estructuras de representación adicionales destinadas a su visualización. [ 1 ]
Con esta base, los diseñadores de lenguajes comienzan el proceso de decidir qué se debe expresar en el lenguaje y cómo debe expresarse. El diseño del lenguaje puede comenzar desarrollando un lenguaje textual capaz de representar toda la información que se va a abordar. Posteriormente, se pueden desarrollar estructuras de lenguaje gráfico diseñadas para mostrar partes específicas del lenguaje textual. Alternativamente, las estructuras de lenguaje gráfico pueden evolucionar antes o en paralelo al desarrollo del lenguaje textual. La secuencia de estas actividades depende en gran medida del grado de comprensión de los requisitos del lenguaje por parte de los desarrolladores. Estos requisitos pueden quedar claros solo después de varias iteraciones tanto del diseño gráfico como del textual. [ 1 ]
Diseño de lenguaje gráfico
El diseño del lenguaje gráfico comienza con la identificación de un conjunto preliminar de esquemas y el propósito u objetivos de cada uno en términos de dónde y cómo apoyarán el proceso de aplicación del método. Se determina el elemento central de cada esquema. Por ejemplo, al experimentar con diseños alternativos de lenguaje gráfico para IDEF9, se concibió un Esquema de Contexto como un mecanismo para clasificar los diversos contextos ambientales en los que pueden aplicarse las restricciones. El enfoque central de este esquema era el contexto. Después de decidir el enfoque central del esquema, se identifica la información adicional (conceptos y relaciones) que debe capturarse o transmitirse. [ 1 ]
Hasta este punto del proceso de diseño del lenguaje, el enfoque principal ha sido la información que debe mostrarse en un esquema determinado para lograr los objetivos del mismo. Aquí es donde el diseñador del lenguaje debe determinar qué elementos identificados para su posible inclusión en el esquema son susceptibles de representación gráfica y servirán para mantener al usuario enfocado en el contenido informativo deseado. Con este entendimiento general, se exploran estructuras de lenguaje gráfico desarrolladas previamente para identificar posibles oportunidades de reutilización. Al explorar posibles diseños de lenguaje gráfico para los métodos IDEF emergentes, se identificó y exploró una amplia gama de diagramas. Con frecuencia, incluso algunos de los conceptos centrales de un método no tendrán ningún elemento de lenguaje gráfico en el método. [ 1 ]
Por ejemplo, el método de modelado de información IDEF1 incluye la noción de entidad, pero no tiene un elemento sintáctico para una entidad en el lenguaje gráfico.8. Cuando el diseñador del lenguaje decide que se debe incluir un elemento sintáctico para un concepto de método, se diseñan y evalúan símbolos candidatos. A lo largo del proceso de diseño del lenguaje gráfico, el diseñador del lenguaje aplica una serie de principios rectores para ayudar a desarrollar diseños de alta calidad. Entre ellos, el diseñador del lenguaje evita las clases de conceptos superpuestas o mal definidas. También busca establecer mecanismos intuitivos para transmitir la dirección de lectura de los esquemas. [ 1 ]
Por ejemplo, los esquemas pueden diseñarse para leerse de izquierda a derecha, de abajo hacia arriba o del centro hacia afuera. También se considera la posibilidad de que un solo esquema contenga demasiada información o elementos superfluos, ya que cualquiera de estas condiciones dificulta enormemente su lectura y comprensión. [ 1 ]
Pruebas de métodos
Cada diseño candidato se prueba mediante el desarrollo de una amplia gama de ejemplos para explorar su utilidad en relación con el propósito de cada esquema. Los intentos iniciales de desarrollo de métodos, y en particular el desarrollo de estructuras de lenguaje de apoyo, suelen ser complejos. Con las iteraciones sucesivas del diseño, se eliminan las estructuras de lenguaje innecesarias y complejas. [ 1 ]
A medida que el diseño del lenguaje gráfico alcanza un nivel de madurez, la atención se centra en el lenguaje textual. Los propósitos de los lenguajes textuales abarcan desde proporcionar un mecanismo para expresar información que se ha omitido explícitamente en el lenguaje gráfico hasta facilitar el intercambio de datos estándar y la interpretación automatizada de modelos. Por lo tanto, el lenguaje textual que sustenta el método puede ser simple y no estructurado (en términos de interpretabilidad informática), o puede convertirse en un lenguaje altamente estructurado y complejo. El propósito del método determina en gran medida el nivel de estructura que se requerirá del lenguaje textual. [ 1 ]
Técnicas de formalización y aplicación
A medida que el lenguaje del método se acerca a la madurez, se emplean técnicas de formalización matemática para que el lenguaje emergente tenga una sintaxis y semántica claras. El proceso de formalización del método a menudo ayuda a descubrir ambigüedades, identificar estructuras de lenguaje problemáticas y simplificar el lenguaje. [ 1 ]
Estas actividades generales culminan en un lenguaje que ayuda a centrar la atención del usuario en la información que necesita ser descubierta, analizada, transformada o comunicada durante la realización de la tarea para la que se diseñó el método. Tanto el procedimiento como el lenguaje del método también ayudan a los usuarios a desarrollar las habilidades y la sintonía necesarias para lograr resultados de alta calidad de forma consistente en la tarea en cuestión. [ 1 ]
Una vez desarrollado el método, se diseñarán técnicas de aplicación para utilizarlo con éxito tanto de forma independiente como en combinación con otros métodos. Estas técnicas constituyen el componente de "uso" del método, el cual evoluciona y crece continuamente a lo largo de su vida útil. El procedimiento, las construcciones del lenguaje y las técnicas de aplicación se revisan y prueban para perfeccionar el método de forma iterativa. [ 1 ]
Véase también
Referencias
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Richard J. Mayer y otros (1995). Compendio de métodos de integración de información para ingeniería concurrente (IICE) Informe del Comando de Material de la Fuerza Aérea, Base de la Fuerza Aérea Wright-Patterson, Ohio. pág. 7-10.
- ↑ F. Harmsen y M. Saeki (1996). «Comparación de cuatro lenguajes de ingeniería de métodos». En: Sjaak Brinkkemper et al. (eds.) Actas de la conferencia de trabajo IFIP TC8, WG8.1/8.2 sobre ingeniería de métodos : principios de construcción de métodos y soporte de herramientas . Enero de 1996, Atlanta, Georgia, Estados Unidos. págs. 209-231
- ↑ Sjaak Brinkkemper , Ingeniería de métodos: ingeniería de métodos y herramientas para el desarrollo de sistemas de información. Journal of Information & Software Technology, Vol. 38, n.° 4, págs. 275-280 (1996)
- 1 2 Colette Rolland (2008) Ingeniería de métodos: Hacia los métodos como servicios . Discurso de apertura ICSE0. 2008.
- ↑ Colette Rolland (1998). Una visión integral de la ingeniería de procesos . Actas de la 10.ª Conferencia Internacional CAiSE'98, B. Lecture Notes in Computer Science 1413, Pernici, C. Thanos (Eds), Springer. Pisa, Italia, junio de 1998.
- ↑ S. Kelly, K. Lyyttinen, M. Rossi. Meta Edit+: Un entorno CASE y CAME totalmente configurable, multiusuario y multiherramienta, Actas de la Conferencia CAiSE'96, Springer Verlag, 1996
- ↑ F. Harmsen, S. Brinkkemper, Diseño e implementación de un sistema de gestión de métodos para un entorno CASE situacional. Actas de la 2.ª Conferencia APSEC, IEEE Computer Society Press, págs. 430-438, 1995.
- ↑ G. Merbeth. Maestro II- das intergrierte CASE-system von Softlab, CASE systeme and Werkzeuge (Ed. H. Balzert) BI Wissenschaftsverlag, pp 319-336, 1991
- ↑ S. Si Said. Guía para procesos de ingeniería de requisitos. En: Actas de la 8.ª conferencia y taller internacional sobre «aplicación de bases de datos y sistemas expertos», DEXA'97, Toulouse, 1-5 de septiembre de 1997.
- ↑ C. Rolland . Introducción a la ingeniería de métodos. Actas de la Conferencia INFORSID (INFormatique des Organizations et Systemes d'Information et de Decision), Toulouse, Francia, 10 al 13 de junio de 1997.
- 1 2 Aydin, MN, Harmsen, F., Slooten, K. v., & Stagwee, RA (2004). Un método ágil de desarrollo de sistemas de información en uso. Turk J Elec Engin, 12(2), 127-138
- ↑ Abrahamsson, P., Warsta, J., Siponen, MT, & Ronkainen, J. (2003). Nuevas direcciones en métodos ágiles: un análisis comparativo. Actas de ICSE'03 , 244-254
- ↑ RJ Welke y K. Kumar (1992). «Ingeniería de métodos: una propuesta para la construcción de metodologías específicas para cada situación». En: Cotterman, Senn (eds.) Análisis y diseño de sistemas: una agenda de investigación. Wiley, Chichester. pp. 257–268.
- Atribución
Este artículo incorpora texto del informe "Compendio de métodos de integración de información para ingeniería concurrente (IICE)" de la Fuerza Aérea de los Estados Unidos , elaborado por Richard J. Mayer et al., en 1995, una publicación que ahora es de dominio público.
Lecturas adicionales
- Sjaak Brinkkemper , Kalle Lyytinen, Richard J. Welke (1996). Ingeniería de métodos: principios de construcción de métodos y soporte de herramientas: actas de la Conferencia de Trabajo IFIP TC8, WG8.1/8.2 sobre Ingeniería de Métodos, 26-28 de agosto de 1996, Atlanta, EE . UU . Springer. ISBN 041279750Xdoi : 10.1007/978-0-387-35080-6
- Sjaak Brinkkemper , Saeki y Harmsen (1998). Técnicas de ensamblaje para la ingeniería de métodos. Ingeniería avanzada de sistemas de información, Actas de CaiSE'98 . Nueva York: Springer. doi : 10.1007/BFb0054236
- Ajantha Dahanayake (2001). Ingeniería de métodos asistida por ordenador: diseño de repositorios CASE para el siglo XXI . Hershey, PA: Idea Group Inc (IGI), 2001. ISBN 1878289942
- Brian Henderson-Sellers , Jolita Ralyté, Pär J. Ågerfalk y Matti Rossi (2014). Ingeniería de métodos situacionales . Berlín: Springer. ISBN 9783642414664doi : 10.1007/978-3-642-41467-1
- Brian Henderson-Sellers , Jolita Ralyté y Sjaak Brinkkemper (eds.) (2008). Ingeniería de métodos situacionales: fundamentos y experiencias: actas de la Conferencia de Trabajo IFIP WG 8.1, 12-14 de septiembre de 2007, Ginebra, Suiza . Nueva York: Springer. ISBN 0387739467doi : 10.1007/978-0-387-73947-2
- Brian Henderson-Sellers , C. Gonzalez-Perez y Donald Firesmith (2004) Ingeniería de métodos y evaluación de COTS en: Archivo de notas de ingeniería de software de ACM SIGSOFT . Vol. 30, número 4 (julio de 2005).
- Manfred A. Jeusfeld, Matthias Jarke y John Mylopoulos , eds. (2009). Metamodelado para la ingeniería de métodos . Cambridge, MA: MIT Press. ISBN 0262101084
Enlaces externos
- Presentación sobre metamodelado e ingeniería de métodos a cargo de Minna Koskinen, 2000.
- Ingeniería de métodos