Está en la página 1de 12

Propuesta de Tesina:

TÉCNICAS DE ANÁLISIS DE DOMINIO


PARA EL
DESARROLLO DE COMPONENTES
EN SISTEMAS COMPLEJOS

Caso de Estudio: Sistemas de información


Ambiental

Directora de Tesis: Mg. Ing. Adriana URCIUOLO

1
1. Introducción.
Desarrollo de software basado en componentes para sistemas de complejidad.

La creciente necesidad de realizar sistemas complejos en cortos periodos de tiempo, a la


vez que con menores esfuerzos tanto humanos como económicos, generó la idea de
reutilizar diferentes componentes desarrollados con anterioridad, favoreciendo así el
avance de lo que se conoce como Desarrollo de Software Basado en Componentes
(DSBC).
El desarrollo de software basado en componentes se ha convertido actualmente en uno
de los mecanismos más efectivos para la construcción de grandes sistemas y
aplicaciones de software, sobre todo en aquellos de gran complejidad.
Esta nueva disciplina se apoya en el uso de componentes software, que son combinados
adecuadamente para satisfacer los requisitos del sistema. Construir una aplicación se
convierte por tanto en la búsqueda y ensamblaje de piezas prefabricadas, cobran especial
interés los procesos de búsqueda y selección de los componentes apropiados para
construir las aplicaciones. (VER01)
Definición de Componente: Un componente es una unidad binaria de composición
de aplicaciones software, que posee un conjunto de interfaces y un conjunto de
requisitos, y que ha de poder ser desarrollado, adquirido, incorporado al
sistema y compuesto con otros componentes de forma independiente, en
tiempo y espacio.(SPK02)

La arquitectura software de una aplicación basada en componentes consiste en uno o un


número pequeño de componentes específicos de la aplicación (que se diseñan
específicamente para ella ), que hacen uso de otros muchos componentes prefabricados
que se ensamblan entre sí para proporcionar los servicios que se necesitan en la
aplicación. (ESP03)

Con el término componente se empieza a diferenciar dos estilos de desarrollo de


software. Por un lado está el estilo de desarrollo de software basado en reutilización,
donde las aplicaciones se construyen a partir de otras partes software ya existentes y
accesibles en repositorios conocidos (“Desarrollo con reuso”). Por otro lado está el
desarrollo de software de reutilización, donde se ponen en práctica procesos de ingeniería

2
para la elaboración de partes eficientes de software que luego pueden ser utilizadas para
la construcción de aplicaciones (“Desarrollo para el reuso”).
Los beneficios que proporciona el DSBC está favoreciendo la aparición de numerosas
técnicas y herramientas de desarrollo para realizar un efectivo DSBC.

Si bien la producción de software basada en componentes implica una gran diversidad de


problemas que aún son temas de investigación, existen algunas tecnologías
fundamentales para abordar el problema de la complejidad, tales como el análisis e
ingeniería de dominio, los cuales constituyen el tema central de estudio de la presente
propuesta de tesis.

Vemos a continuación la importancia del análisis de dominio para poder definir


componentes verdaderamente reusables.

La importancia del análisis de dominio en los sistemas complejos

El propósito de la ingeniería del dominio, especialmente la del análisis de dominio es el


de proporcionar la reutilización de la especificación de un dominio específico para
aplicaciones similares. Es un proceso sistemático para proporcionar una arquitectura
común como base para esas aplicaciones. Puede ser aplicada a los sistemas existentes
o a nuevas ingenierías de sistemas (HAR04)

Para determinar un dominio, existen varios acercamientos. La visión se puede enfocar


describiendo qué está dentro del dominio, cuáles son los límites del dominio, o qué está
fuera del dominio.

La ingeniería del dominio se puede también comparar con la ingeniería de software


convencional donde el análisis de requisitos corresponde al análisis del dominio de forma
tal que el análisis de sistemas produce los requisitos para un solo sistema mientras que el
análisis del dominio produce los requisitos configurables reutilizables para una familia de
sistemas. De manera similar, el diseño de sistemas realiza el diseño de un sistema
mientras que el diseño del dominio se concentra sobre la reutilización para una clase de
sistemas y un plan de la producción. Finalmente, la implementación de un sistema pone
un sistema en ejecución, mientras que la implementación del dominio produce
componentes reusables, arquitectura de base, y proceso de producción.

En el presente trabajo el interés está particularmente centrado en el análisis de dominio


como técnica fundamental para el desarrollo de sistemas que presentan complejidad. El
análisis del dominio es introducido por Neighbors para denotar el estudio de problema
comunes del dominio de un conjunto de aplicaciones.

Entre ellos se puede obtener:

 ámbito del dominio (definición del dominio, análisis del contexto)


 análisis de la concordancia
 diccionario del dominio (léxico del dominio)
 notaciones (modelar el concepto, representación del concepto)
 ingeniería de requisitos (característica que modela)
El análisis del dominio se asocia a la reutilización, su propósito es capturar la información
implicada con el dominio, que se reutilizará en el desarrollo de futuras aplicaciones. La

3
salida del análisis del dominio es el modelo del dominio, intentando encontrar los
elementos más comunes de varios modelos de sistemas en el dominio. (HAR04)
El análisis de dominio constituye de esta forma la punta principal para desarrollar software
reusable. Utilizar esta técnica en lugar del convencional análisis de requisitos para un
sistema simple, es particularmente aconsejable en sistemas complejos, dado que facilita y
permite el reuso de los productos obtenidos de todas las actividades realizadas durante
las etapas tempranas del desarrollo del software, las cuales revisten especial importancia
cuando se involucra el estudio de un dominio que presenta complejidad.

El Problema de la complejidad en el dominio de aplicaciones ambientales

Los sistemas de información ambiental (SIA) se caracterizan por su complejidad. Rozan


una gran cantidad de subdominios bastante diversos del conocimiento, que son
generalmente heterogéneos, tanto técnica como semánticamente (KOS05). Estos
sistemas se relacionan con el manejo de los datos correspondientes a los distintos
componentes interactuantes del ambiente: el suelo, el agua, el aire y las especies
existentes.
La mayoría de los fenómenos ambientales demuestra que nos estamos ocupando de
cinco diversas dimensiones: la localización en el espacio, expresado como sistema de 3
coordenadas - latitud, longitud y altitud -, la posición en tiempo y los fenómenos o el tema
particulares que son analizados. La meta de un control del medio ambiente y de un
sistema de información es recoger así datos en este mundo cinco-dimensional,
almacenarlos, analizarlos, y promover su uso de la manera posible más eficiente. Esta
meta requiere la integración del espacio y del tiempo, un campo complejo, donde
mucha investigación todavía se necesita (AEI06)
En la actualidad, los trabajos de investigación vinculados a estos sistemas han puesto el
énfasis en la organización de Bases de datos, en aspectos visuales, etc, en el estudio de
metodologías para resolver problemas puntuales (como el manejo de series de tiempo),
etc., pero no se han estudiado técnicas de análisis del dominio apropiadas para la
complejidad ambiental, razón por la cual no se cuenta con modelos para el dominio que
puedan reusarse para distintos sistemas.
Actualmente los datos correspondientes a sistemas ambientales, son casi exclusivamente
capturados en algún formato digital. Existen esencialmente dos opciones para su
almacenamiento: (GÜN03)
 Un sistema de administración de bases de datos, implementado sobre la base de un
modelo de datos definido: relacional, orientado a objetos.
 En archivos de un Sistema de Información Geográfica (SIG)

Los requerimientos respecto a la actualidad y a la exactitud de esta información son altos,


pero además de ello, la complejidad de estos sistemas está dada por la necesidad de
manejar grandes volúmenes de datos, objetos espacio / temporales, factores ambientales,
políticas de gestión, normativas legales y técnicas.
Las particularidades de los SIA provocan que para construir componentes
verdaderamente reusables en el dominio, se requiera definir técnicas apropiadas para
analizar un dominio de tal complejidad.
El desarrollo de software basado en componentes para este dominio se presenta como un
paradigma que permite el tratamiento para el desarrollo de sistemas complejos y de gran

4
magnitud, que brinda el soporte para la integración de partes de sistemas mayores
facilitando una estructura de ensamblado adecuada.

2 Propuesta

De acuerdo a lo expuesto, considerando la complejidad que acarrean estos tipos de


dominios en su tratamiento, en el presente trabajo se pone especial énfasis en el análisis
del dominio que permita obtener componentes reusables para ser utilizados en diferentes
sistemas del dominio, ahorrando de esta forma tiempo y esfuerzo a los desarrolladores.
Dado que el paradigma de desarrollo de software basado en componentes se ha
convertido mecanismos más efectivos para la construcción de grandes sistemas y
aplicaciones de software, sobre todo en aquellos de gran complejidad.

La propuesta se centra en analizar diferentes técnicas de análisis de dominio,


determinando cual/es de éstas permiten realizar desarrollos de software basado en
componentes, tomando como caso de estudio los sistemas de información ambiental para
el manejo de información de sistemas ambientales.

Como resultado del trabajo, se espera poder determinar, que técnicas de análisis, son las
mas apropiadas para el dominio.

Existen varias técnicas para realizar análisis de dominio, bastantes diferentes entre si, en
general todas ellas disponen de métodos para:

 Definir criterios básicos (frontera, vocabulario, etc) de un dominio, para que


puedan ser utilizado en una arquitectura
 Describir variables y constantes que den soporte para las funciones de estado del
sistema o familia de sistemas
 Identificar las relaciones y restricciones entre los conceptos, funciones ,etc del
dominio.

A continuación se enumeran diferentes técnicas a ser analizadas:

 Product-Oriented Paradigm
 Domain Analysis for Reusability:
 Feature-Oriented Domain Analysis (FODA
 Domain analysis in the Synthesis environment
 Domain analysis in RAPID
 Domain analysis in IdeA
 PROTEUS domain analysis methodology
 Stars Reuse Library Process Model (RLPM)
 MRAM
 The Joint Integrated Avionics Working Group’s Object-Oriented Domain Analysis
(JODA)
 ODM (Organization Domain Modeling
 RSEB (Reuse-Driven Software Engineering Business
 PuLSE (Product Line Software Engineering)
 FAST (Family-Oriented Abstraction, Specification, and Translation)

5
 Ingeniería del dominio y métodos de OOA/D
 OOram

2. 1 Objetivos del Trabajo

Se puede citar como objetivo general del trabajo, el siguiente:


 Contribuir al estudio de técnicas de análisis de dominio para sistemas basados en
componentes, en base a metodologías que permitan manejar la complejidad y
representar en forma adecuada la información y los procesos relacionados con el
ambiente.
Se plantea el siguiente objetivo específico:
 Definir la/as técnicas adecuadas para el análisis de dominio, que permitan el
desarrollo de componentes reusables en el dominio de aplicaciones de sistemas de
información ambiental.

2. 2 Principales contribuciones

Este trabajo pretende contribuir a dicha evolución proveyendo:

 Definición de características, objetos y funcionalidades comunes en los sistemas


ambientales.
 Definición de componentes reusables para el dominio en general
 Utilización de diferentes técnicas para el desarrollo de sistemas basado en
componentes en el análisis de dominio.
 Especificación de las técnicas mas educadas en el dominio ambiental.

3 Metodología

 Análisis del Dominio


- Estudio de las características del análisis de dominio
- Análisis del Contexto. Definición del modelo de contexto.
- Importancia del análisis de dominio en la definición de componentes verdaderamente
reusables
- Definición y clasificación de entidades y funcionalidades comunes al dominio.
- Definición de escenarios representativos del dominio.
- Estudios de técnicas de análisis de dominio y su aplicabilidad a CSBD

 Análisis del Desarrollo de software basado en componentes


- Estudio del paradigma de CSBD.
- Definición de componentes.
- Importancia de componentes reusables para sistemas complejos.
- Necesidad de determinar técnicas de análisis y diseño apropiadas para alcanzar reuso
en este paradigma.
- Critica al Análisis y diseño no basado en componentes.

 Estudios de técnicas de análisis de dominio y su aplicabilidad a CSBD

6
- Estudio y comparación de metodologías basadas en CSBD para el desarrollo de
sistemas ambientales
- Especificación de la metodología mas apropiada.
- Demostración de la metodología mas apropiada.

 Análisis de los sistemas ambientales


- Estudio de las características de los sistemas ambientales
- Desarrollos actuales sobre los sistemas ambientales
- Estudio Herramientas GIS
- Definición y clasificación de entidades y funcionalidades de los sistemas ambientales

 Caso de estudio: Sistemas de información ambiental


- Validación de las técnicas descriptas en este dominio

7
4 Bibliografía

4.1 Bibliografía referenciada en la propuesta

(VER01) Aspectos de Calidad en el Desarrollo de Software Basado en Componentes


Manuel F. Bertoa, José M. Troya y Antonio Vallecillo

(SPK02) Componente Szyperski, [Szyperski, 1998])

(ESP03) DISEÑO DE COMPONENTES SOFTWARE DE TIEMPO REAL Pedro Javier


Espeso Martínez Diciembre – 2002 UNIVERSIDAD DE CANTABRIA

(HAR04) A survey on domain engineering, Maarit Harsu. Institute of Software Systems


Tampere University of Technology

(KOS05) A Federation Architecture for an Environmental Information System incorporating


GIS, the World Wide Web, and CORBA Arne Koschel, Ralf Kramer, Ralf Nikolai,
Forschungszentrum Informatik (FZI), Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe,
Germany

(AEI06)An environmental information system linking time series with GIS Rodrigo Oliveira,
João Ribeiro da Costa, Chiron, Information Systems, www.chiron.pt Lisbon,
Portugal

(GÜN07) Günther, O. Environmental Information Systems


Springer-Verlag, Berlín Heidelberg, Germany, 1998

4.2 Bibliografía consultada

Un Modelo de Mediación para el Desarrollo de Software basado en Componentes COTS,


TESIS DOCTORAL Presentado por Luis F. Iribarne Martínez, Dirigida por Dr. D. Antonio
Vallecillo Moreno Y Dr. José María Troya Linero, Universidad de Málaga, 14 de Julio de
2003

Component-based Design and Reuse, Kirby McInnis, Castek

Modelo de desarrollo de software basado en componentes, Rene santoloaya , Centro de


investigación en computación mexico DF www.cic.ipn.mx
Olivia fragoso diaz , Maximo lopez sancgez, Centro nacional de investigación y
desarrollo (cenidet) mexico www.cenidet.edu.mx

Análise de Domínio Pesquisado por Emeline Regis e Gustavo Tondello


Universidade Federal de Santa Catarina (UFSC)

UML Components, Cheesman, John; Daniels, John, Octubre 2000

8
Cónsul de la Comunidad Europea, Oficial Juornal of the European Comunities 1990.

Adriana Urciuolo SISTEMAS DE HIDROINFORMÁTICA OO + SOLUCIONES


EVOLUTIVAS 2005

Bavovic, V. Emergence, Evolution, Intelligence: Hydroinformatics.IHE-Delft


Balkema, Rotterdam Netherlands, 1996

Rol of information technology in environmental information system

Ministerio de Medio Ambiente y Recursos Naturales de El Salvador


http://www.marn.gob.sv/gis/docs/sia.htm

Centre for advanced spatial analisys from environmental information system University
College London http://www.casa.ucl.ac.uk, http://www.casa.ucl.ac.uk/eis.pdf

Environmental Data Exchanging – The Need For Management, Drago Vuk, PhD,
University of Maribor, Faculty of Organizational Sciences

The Role Of A National Environmental Information System In Support Of Public Policy


prepared for the CISE Task Force by Colin Isaacs and Heide Ciplin

Towards a GIS-Based Environmental Information System for Kuwait by Dr.Abdul Nabi Al-
Ghadban, Kuwait Institute of Scientific Research, Kuwait.

Optimal management of drainage facilities using object-oriented supervisory system. Proc.


XXIVth IAHR Congress, Solomatine, D. and Tan, T.,London, vol.4, pp. 423-424, 1995

Fundamentals of Spatial Information Systems, Laurini, R. Thompson, D., Academic Press,


7th printing, 1999

Geographic Information Systems: A management Perspective. Aronoff S.,WDL


Publications Ottawa, Canadá.

Object-Oriented Modelling, Rumbaugh, James, Prentice-Hall, Englewood Cliffs, New


Jersey, USA 1991

Object-Oriented Software Engineering: A Use Case Driven Approach, Jacobson I Addison-


Wesley Publications, 1994

Object-Oriented Analysis and Design With Applications, Booch G.Addison-Wesley


Publications, 2nd Edition,1994

The Unified Modeling Language, Booch G., Jacobson I., Rumbaugh J.,Addison-Wesley
Publications, 1998

Designing Object-Oriented Software, Wirfs-Brock, R.WilkersonB.Prentice Hall, Englewood


Cliffs, NJ, 1990

Design Patterns. Elements of Reusable OO Software, Gamma, E. H Addison-Wesley,


1997

9
Agent Mediated Consensus-Building for Environmental Problems: A Genetic Algorithm
Approach. Bennet D., Armstrong, M. Wadw, G.

Knowledge-Based Meta-Data Validation: Analyzing a Web-Based Information System


Frank van Harmelen AI Department, Free University of Amsterdam, Arjohn Kampman

OMG Unified Modeling Language Specification. Obejct Manegement Group, Framingham,


MA, 1998. Internet: http://www.omg.org

CORBA – Common Object Request Brocker Architecture http://www.omg.org

DCOM – The Distributed Component Object Model:


http://www.microsoft.com/TechNet/winnt/Winntas/technote/dcomwp.asp

Achieving the Promise of Reuse with Agent Components Martin L. Griss1 and Robert R.
Kessler Computer Science Department 349BE, University of California, Santa Cruz 1156
High Street, Santa Cruz, CA 95064 http://www.soe.ucsc.edu/~griss

Resumen de Conclusiones * Pedro J. Clemente, Diego Sevilla, Rafael Corchuelo


Parcialmente financiado por la CICYT con los proyectos TIC2002-04309-C02 y TIC2000-
1106-C02-01. University of Extremadura, jclemente@unex.es, University of Murcia,
dsevilla@um.es, University of Sevilla, corchu@lsi.us.es

TriReme International Ltd www.trireme.com, Catalysis: Objects, Frameworks and


Components with UML, Desmond D’Souza, Alan Cameron Wills

Bisimulation for Component-Based Development, Elsa Estévez Pablo R. Fillottrani


Departamento de Ciencias e Ingeniería de la Computación, Universidad Nacional del Sur
Bahía Blanca, e-mail: fece, prfg@cs.uns.edu.ar

e-Learning – Borderless Education Guest Editors: Ángel Fidalgo-Blanco and Martín


Llamas-Nistal UPGRADE is the European Journal for the Informatics Professional,
published bimonthly at <http://www.upgrade-cepis.org/>

Desarrollo de Software Basado en Componentes, Lidia Fuentes, José M. Troya y Antonio


Vallecillo Dept. Lenguajes y Ciencias de la Computación. Universidad de Málaga.
ETSI Informática. flff,troya,avg@lcc.uma.es

Enterprise Collaboration Architecture (ECA) Specification An Adopted Specification of the


Object Management Group, Inc. February 2004 Version 1.0. formal/04-02-01

Un estudo sobre o desenvolvimento basado em componentes. Facultad de informatica


programa de post graduación en Cs. de la computación pucrs brasil.
http://www.pucrs.br/inf

Market Assessment of Component-Based Software Engineering Len Bass Charles


Buhman Santiago Comella-Dorda Fred Long John Robert Robert Seacord Kurt Wallnau
May 2000 TECHNICAL NOTE CMU/SEI-2001-TN-007

10
Replaceable Components and the Service Provider Interface, Robert Seacord Lutz
Wrage July 2002 COTS-Based Systems Technical Note CMU/SEI-2002-TN-00

TESIS DOCTORAL: Sistema de verificación de componentes software, Presentada por


Agustín Cernuda del Río, Dirigida por el Profesor Doctor D. Juan Manuel Cueva Lovelle
Oviedo, Febrero de 2002

Technical Concepts of Component-Based Software Engineering, 2nd Edition Felix


Bachmann Len Bass Charles Buhman Santiago Comella-Dorda Fred Long John Robert
Robert Seacord Kurt Wallnau May 2000 TECHNICAL REPORT CMU/SEI-2000-TR-008
ESC-TR-2000-007

UML™ Profile for Enterprise Distributed Object Computing Request for Proposal
OMG Document: bom/98-12-05 DRAFT version 3.0 Submissions due: August 2, 1999

A DOMAIN ANALYSIS METHODOLOGY Position Abstract Workshop on Domain Modeling


for Software Engineering Rubén Prieto Díaz

Processes for Product Family Engineering from the Esaps Project Detailed Descriptions
Günter Böckle

Domain Analysis and Engineering: How Domain-Specific Frameworks Increase Software


Reuse Jeffrey S. PoulinLoral Federal Systems-Owego July 1995

Joint IntegratedAvionics Working Group (JIAWG) Object-Oriented Domain Analysis


Method (JODA) Robert Holibaugh

CMM: http://www.cmu.sei.edu

RUP: http://www.rational.com

Rational http://www.rational.com

11
INDICE PROPUESTO

Introducción
Propuesta detallada
Descripción del Trabajo
Objetivos.
Contribuciones
Organización de la tesis

Información de apoyo (Background)


Análisis de Dominio.
Importancia del reuso en el análisis de dominio.

El Desarrollo de Software Basado en Componentes


Componente
Paradigma de CSBD
Importancia del reuso
Necesidad de determinar técnicas de análisis y diseño apropiadas para alcanzar reuso en
este paradigma

Estudio de técnicas de Análisis de Dominio

Crítica al Análisis Y diseño no basado en componentes

Validación: Caso de Uso Sistemas de información ambiental

Conclusiones y trabajos futuros

12

También podría gustarte