Visita Encydia-Wikilingue.con

Análisis de Dominio

análisis de dominio - Wikilingue - Encydia

El término dominio, en el contexto de la ingeniería de software, es utilizado para denotar o agrupar un conjunto de sistemas o de áreas funcionales, dentro de los sistemas, que exhiben funcionalidades similares. Podemos entonces describir el dominio aplicacional, como siendo una colección de aplicaciones de software, que partilham un determinado conjunto de características. De la misma forma, el dominio es definido por un conjunto de características que describen una familia de problemas para los cuales una determinada aplicación pretende dar solución.

El análisis del dominio puede ser definida como el proceso por el cual la información usada para el desarrollo de software es identificada, capturada y organizada para que sea reutilizable cuando de la creación de nuevos sistemas. Se trata de la reutilización de conceptos a un nivel de abstracción muy elevado, o sea, existen soluciones generalistas para la resolución de un dato problema, que pueden ser aplicadas en contextos similares. La identificación de los dominios no se restringe a la áreas técnicas y tecnológicas. Elementos socio-económicos, organizacionais, administrativos, etc. tienen influencia para determinar el ámbito del problema, pelo que es imperativo su investigación y análisis.

Tabla de contenido

Ingeniería de dominio y análisis de dominio

A pesar de normalmente emplearse los dos tengamos que forma indiscriminada e inconsistente, estos son diferenciados y deben ser emplees en contextos diferentes. El análisis del dominio es un proceso que forma parte del ámbito de la ingeniería de dominio, pero que puede ser utilizada de forma independiente. La ingeniería de dominio comprende las siguientes áreas:

Esta tiene como objetivo la reutilización, en un sentido más lato, de componentes en una clase de sistemas.

Relativamente a la ingeniería de sistemas, que visa la implementaciones de solución perfectamente definidas y únicas, la ingeniería de dominio es muy más abrangente, pues visa proporcionar una solución cuyas funcionalidades puedan ser reutilizadas en múltiples sistemas.

Métodos de análisis de dominio

Existen diversos métodos de análisis de dominio, siendo estos aplicados en varios niveles conceptuales pero, es pressuposto que cualquier uno de ellos pueda ser definido por los siguientes elementos:

La plantilla del dominio representa la compreensão e información adquirida acerca del dominio. El proceso de obtención de esta plantilla sigue los siguientes pasos:

Clasificación de los métodos de análisis

Los métodos de análisis de dominio dependen y son aplicados conforme el tipo de objeto a ser reutilizado y el ámbito del problema a ser resuelto. Siendo así, la clasificación de los métodos está dependiente del tipo de elementos que se pretende reutilizar:

Relativamente al análisis de productos de software, esta incide sobre la reutilización de código, arquitetura y requisitos. Puede ser orientada para el levantamiento de componentes de software, que providenciem las funcionalidades necesarias a quienes implementa, o sea, se analiza el código que puede ser reutilizado, expresamente a partir de bibliotecas, que implementen alguna de las funcionalidades pretendidas y a ser integradas en el producto a desarrollar. También se puede orientar el proceso de análisis con el intuito de reutilizar arquiteturas o designs . En este caso, el arquitecto de software puede proceder a un análisis de dominio que lo conduzca al levantamiento de patrones de software y frameworks , que resuelven problemas comunes en el ámbito del desarrollo orientado a objetos. Finalmente, se puede proceda a la reutilización en la fase de análisis del ciclo de desarrollo de software, es decir, para la reutilización de requisitos que podrán ser comunes a productos con fines similares.

Se puede también recurrir a métodos para reutilizar toda y cualquier experiencia de desarrollo, que se aplique al contexto del producto en cuestión, expresamente al nivel de metodologias de desarrollo. Como ejemplo, se podrá estudiar el dominio de metodologias aplicadas a un proyecto de desarrollo de software, y con base en la información obtenida de experiencias anteriores, adaptar a que más se adequa al proyecto en cuestión.

Lista de métodos de análisis

La tabla siguiente presenta un levantamiento de métodos que pueden ser utilizados para el análisis del dominio. La primera columna corresponde a la designación del método y la segunda a los objetivos propuestos por este. La tercera columna de la tabla presenta una definición general del método y la última columna presenta la clase a que esta pertenencia (ver sección anterior), o sea, cual el objeto de reutilización para el dominio.

Métodos de análisis Objetivo Definición Clase
McCain Disminuir costes de adaptación Determinar características que optimicen el dominio Productos (código)
Neighboors Mejorar elementos reutilizables Identificar objetos y operaciones de una clase de sistemas Productos (código)
Prieto-Díaz Mejorar elementos reutilizables Actividad que precede el análisis del sistema Productos (código)
Simos Construir bibliotecas con elementos reutilizables Especificación de la plantilla del dominio para una biblioteca Productos (código)
HP Construir elementos reutilizables Caracterizar el dominio de software Productos (código)
ODM Construir elementos reutilizables
-
Productos (código)
FODA Construir elementos reutilizables Proceso de identificar, organizar y representar información relevante acerca del dominio Productos (arquitectura)
IDeA Construir bibliotecas con elementos reutilizables
-
Productos (arquitectura)
STARS Construir bibliotecas con elementos reutilizables Análisis de sistemas Productos (arquitectura)
DATO Integrar el análisis del dominio en el proceso de desarrollo Proceso para identificar y organizar información acerca del utilizador Productos (arquitectura)
Synthesis Disminuir costes de adaptación Identificar, organizar y modelar información para producir requisitos Productos (requisitos)
JODA Construir elementos reutilizables Proceso en que es definida una arquitectura y código reutilizables Productos (requisitos)
Hollenbach & Frakes Construir bibliotecas con elementos reutilizables
-
Procesos
Birk Construir elementos reutilizables Identificar y organizar conocimiento acerca de un tipo de problemas para los describir y resolver Tecnología
Basili Construir elementos reutilizables Identificar dominios en que la reutilización de ciertas experiencias es vantajosa Experiencia
Henninger Construir bibliotecas con elementos reutilizables Identificar patrones que se repiten en el transcurrir de proyectos de desarrollo Experiencia

Dificultades en el análisis de dominio

El dominio puede hacerse más complejo y difícil de ser evaluado o transcrito, consoante el área en que un determinado proyecto esté insertado. Actualmente, pueden ser encontrados productos de software con los más diversos fines. A la vez el nivel de exigencia en relación a la calidad de la prestación de los servicios de estos, es cada vez mayor pelo que, para alcanzarse estos propósitos, es necesario tener la noción de todos los factores que puedan tener impacto en el producto pretendido. Sin embargo, cuánto mayor el número factores, más complejo el proceso se hace, y mayor es el número de situaciones que deben ser tenidas en cuenta.

Las observaciones efectuadas en el análisis permiten un levantamiento elucidativo de características, cuya transcripción para el papel puede ser difícil y compleja. El día a día confrontamo-nos con procesos posiblemente simples, pero cuyo “modus operandis” es difícil de demostrar y de transcrever a través de un lenguaje simple y elucidativa. Recurriendo a esquemas, diagramas y la un lenguaje eventualmente más técnica deberá buscarse encontrar un medio de hacer evidente, a quien está tomando contacto con los artefactos resultantes del análisis del dominio, de cuáles son las características que lo componen, cual el ámbito en que este se inserta, que problemas le están inerentes y que soluciones existen.

Las dificultades surgen también cuando estamos efectuando un análisis en un dominio inestable, en que las soluciones existentes son ambíguas y poco claras. Tal acontece cuando existen pocas fuentes de información disponibles, o entonces, cuando estas no son adecuadas para un levantamiento de información credível. Tal acontece, esencialmente cuando un foco de un proyecto está en la implementación de productos innovadores, en que no existen disponibles referencias que permitan definir un dominio contextualizante y con elementos reutilizables.

Análisis de dominio en el proceso de levantamiento de requisitos

El levantamiento de requisitos está presente en el inicio del ciclo de vida de software, en una fase en que los responsables por el dibujo del sistema están adquiriendo toda la información necesaria, para garantizar que el producto en cuestión satisfaga quién va a consumirlo. El levantamiento es efectuado a través del contacto con personas que se insertan enmedio donde el proyecto transcurre, siendo emplees diversas técnicas (entrevistas, questionários, brainstormings, etc.).

Con el análisis del dominio se pretende indicar un medio, a través del cual, si pueda alcanzar la coherencia entre la representación y abstracción de una plantilla que guíe a un levantamiento de requisitos eficaz y profícuo. Cuando se desarrolla un nuevo sistema, no es suficiente cuestionar las personas sobre lo que es que estas pretenden obtener. Existen muchos otros factores que deben ser del conocimiento de los equipos de desarrollo, muy antes de ser tomadas cualesquier decisiones relativas al avance en la elaboración del proyecto, expresamente relativamente al dominio en que este se inserta. Acontece normalmente que los propios clientes del proyecto, no tienen una noción abrangente y profundizando del problema y de las posibles soluciones que el producto pretendido abarca.

Siendo así, este análisis es crucial cuando se pretende determinar cuáles los parâmetros que definen el camino que una eventual solución debe seguir, a la vez que va condicionar algunas de las opciones que podrían ser consideradas como viáveis y ajustadas para la implementación final. Tiene como objetivo profundizar y detallar el conocimiento que los responsables por el desarrollo tienen sobre el área en que el producto se inserta, para que puedan tener una línea conductora para las diversas etapas del proceso de levantamiento de requisitos.

El análisis de dominio permite levantar tecnologías, componentes, metodologias y otras informaciones acerca del dominio en que se inserta el producto a desarrollar. Este análisis, hecha con antelación relativamente y/o paralelamente aquando del contacto con lo(s) cliente(s), permite tener una visión del que ya existe y puede ser reutilizado, lo que enriquece de forma amplia la conducción del procesos de levantamiento de requisitos. Además de eso, el análisis permite identificar requisitos, que sirvieron como base para la implementación de soluciones similares, pero que podrían pasar despercebidos durante el proceso de levantamiento.

Documentación

La transcripción que va a ser documentada, de la especificación genérica del dominio, deberá ser efectuada recurriendo a un lenguaje simple y directa, utilizándose eventualmente esquemas que puedan elucidar el mensaje que se pretende transmitir, buscando así siempre que la idea a difundir sea lo más explícita posible.

El análisis del dominio es incorporada en el artefacto con la designación de documento de visión que, tal como el nombre implica, tiene como objetivo dar una visión global del proyecto, lo que incluye su dominio, de forma a orientar el proceso de levantamiento de requisitos.

Referencias

Ver también