Archivos Mensuales: abril 2014
Glosario
Comenzamos nuestros artículos de carácter académico con el glosario de términos de la metodología.
- AOP
- Aspect-oriented programming. La programación orientada a aspectos es un paradigma de programación que permite la separación de aspectos trasversales. Aspectos diferentes, tales como seguridad, log contable, avisos, etc. pueden ser definidos en áreas diferentes, obteniéndose el comportamiento final del sistema mediante a través de un proceso de tejido.
- Dominio
- Un dominio es un área, de negocio en nuestro caso, en el cual reside un conocimiento particular y una terminología específica para definirlo.
- DSL
- Domain Specific Language. Un lenguaje específico de dominio es un lenguaje de programación diseñado para representar los conceptos de un dominio dado. Puede ser tanto gráfico como texto.
- FW
- Framework. Un framework es una plataforma software reutilizable para desarrollar aplicaciones. Se trata de una abstracción donde sus funcionalidades genéricas pueden ser extendidas de manera selectiva para conseguir un aplicación software específica.
- FM
- Feature Model. Modelo para representar las partes comunes y opcionales que puede haber en una línea de producción. Es utilizado en PLE.
- LW
- Language Workbench. Herramienta que permite la definición y uso de lenguajes formales: sintaxis abstracta y concreta y semántica estática y dinámica. Se podría considerar como una herramienta para definir el lenguaje, el compilador y el IDE de un determinado dominio.
- MDA
- Model Driven Architecture. Estándar OMG para el desarrollo de software basado en modelos. Se puede considerar como un caso particular de MDSD.
- MDSD
- Model-driven Software Development. Se trata de un paaradigma de programación que basa el desarrollo de software a nivel de modelos.
- Meta-modelo
- Reglas, construcciones, relaciones, etc. que definen los modelos que pueden ser construidos en un dominio determinado.
- PLE
- Product Line Engineering. Disciplina para la creación de software a través de líneas de producción de software (SPL).
- SPL
- Software Product Lines. Metodología de desarrollo enfocada en la producción de software tal y como se hace en la producción de otros bienes: compartiendo los procesos comunes y aislando los particulares.
Ver todos los posts Teórico.
Automatización de software. Introducción
La automatización del desarrollo de software, como todo proceso de automatización, consiste en delegar a la máquina algunas de las tareas que implica este proceso productivo. El objetivo es conseguir una metodología de desarrollo más rápida, y por tanto con menos costes, así como una mayor calidad en el producto final.
La automatización en el SW ha sido una meta perseguida con anterioridad aunque no con mucho éxito. Estándares de diseño tipo UML o herramientas de tipo CASE (Computer Aided Software Engineering) no han conseguido los frutos esperados debido a que intentan dar una solución genérica (de “propósito general”) al conjunto de problemas a los que el SW intenta dar respuesta.
Por el contrario, los nuevos métodos de automatización ofrecen la posibilidad de diseñar, de forma simple y rápida, lenguajes que se adapten y puedan describir cada problema particular. Es este enfoque específico, y no de propósito general, el que permite lograr casos de éxito en la automatización del desarrollo de sw.
La automatización se asocia principalmente a la generación de código porque al fin y al cabo, el código fuente, es el resultado del proceso productivo, pero no conviene olvidar que una vez que se utilizan estas técnicas, la programación pasa de ser una mera declaración funcional a una verdadera representación del conocimiento, a partir de lo cual se pueden aplicar diversas disciplinas como la semántica o el razonamiento automatizado.
Podemos concluir esta introducción diciendo que a lo largo de la historia el sw a optimizado muchos procesos productivos, es el momento de que optimice el suyo propio.
Con este artículo iniciamos una serie en la que iremos describiendo en profundidad esta disciplina así como su implementación en Bheudek.
Ver todos los posts Teórico.
La automatización en el SW ha sido una meta perseguida con anterioridad aunque no con mucho éxito. Estándares de diseño tipo UML o herramientas de tipo CASE (Computer Aided Software Engineering) no han conseguido los frutos esperados debido a que intentan dar una solución genérica (de “propósito general”) al conjunto de problemas a los que el SW intenta dar respuesta.
Por el contrario, los nuevos métodos de automatización ofrecen la posibilidad de diseñar, de forma simple y rápida, lenguajes que se adapten y puedan describir cada problema particular. Es este enfoque específico, y no de propósito general, el que permite lograr casos de éxito en la automatización del desarrollo de sw.
La automatización se asocia principalmente a la generación de código porque al fin y al cabo, el código fuente, es el resultado del proceso productivo, pero no conviene olvidar que una vez que se utilizan estas técnicas, la programación pasa de ser una mera declaración funcional a una verdadera representación del conocimiento, a partir de lo cual se pueden aplicar diversas disciplinas como la semántica o el razonamiento automatizado.
Podemos concluir esta introducción diciendo que a lo largo de la historia el sw a optimizado muchos procesos productivos, es el momento de que optimice el suyo propio.
Con este artículo iniciamos una serie en la que iremos describiendo en profundidad esta disciplina así como su implementación en Bheudek.
Ver todos los posts Teórico.