• No se han encontrado resultados

4. Otros Modelos de Requisitos

4.4. Modelo de CU unificado y Tablas de composici´on

4.4.2. Modelo de CU Unificado

El Modelo de CU Unificado se compone simplemente por un listado de CU, un segundo listado de CU Crosscutting (obtenidas a partir de un SIG como operacionalizaciones de un conjunto de RNFs), y relaciones croscutting entre CU y CUC. El metamodelo se detalla en la Figura 4.5

En el contexto de la implementaci´on, en cambio, utilizar este metamodelo de forma directa no resulta lo m´as adecuado: dado que es preciso considerar en todo momento la dualidad ATL- XML que se ha mencionado, es deseable que todo modelo de este metamodelo, entendido como documento XML, sea sencillo de interpretar y consultar; esto no ocurre con esta implementaci´on del Modelo de CU Unificado, debido al problema de las referencias: los documentos XML generados por Eclipse/ATL, con el (razonable, y hasta esperado) objetivo de no duplicar informaci´on, declaran cada elemento del modelo una sola vez, y luego hacen referencia a ´el mediante ´ındices del tipo @< clase elemento > . < indice >. Este formato resulta extremadamente complejo de trabajar con consultas XQuery, dando como resultado modelos dif´ıcil de crear y de comprender, lo cual llama a buscar alternativas.

En este caso, la soluci´on adoptada es un metamodelo simplificado, que facilita simult´aneamente su creaci´on, comprensi´on y consulta. Este metamodelo se detalla en la Figura 4.6:

4. Otros Modelos de Requisitos 47

Figura 4.5: Metamodelo de Casos de Uso Unificado

Figura 4.6: Metamodelo de Casos de Uso Unificado - versi´on simplificada para XML DTD

El DTD que define la representaci´on en XML del modelo simplificado se detalla en la Figura 4.7:

<!ELEMENT dcuc_simple:dcuc (cu*)> <!ELEMENT cu (afectado_por+)>

<!ATTLIST cu titulo CDATA #REQUIRED> <!ELEMENT afectado_por EMPTY>

<!ATTLIST afectado_por titulo CDATA #REQUIRED>

Figura 4.7: Metamodelo de Casos de Uso Unificado - DTD de la versi´on simplificada Como se puede apreciar, este DTD es extremadamente sencillo e intuitivo: por cada Caso de Uso (representado por el elementocu), se puede saber cu´ales son los Casos de Uso Crosscutting que lo afectan consultando sus elementosafectado_porhijo. De todos modos, es importante recordar que esta definici´on es pr´actica para la etapa de implementaci´on, pero resulta inadecuada para el proceso de Ingenier´ıa de Requisitos.

Clase caso uso

Descripci´on Esta clase representa una Unidad de Requisitos Funcionales correspondiente con un CU del MCU

Atributos

titulo:string

T´ıtulo del CU representado Asociaciones

48 4.4. Modelo de CU unificado y Tablas de composici´on afectado por:caso_uso_cc[*]

Relaci´on que indica cu´ales operacionalizaciones operaci´on afectan al CU representado inc cu:sistema [1]

Relaci´on con el elemento padre del modelo includes:caso_uso [1..*]

Relaci´on que representa, a su vez, la relaci´oninclude entre dos CU extends:caso_uso [*]

Relaci´on que representa, a su vez, la relaci´onextends entre dos CU Restricciones

Sin restricciones adicionales

Sem´antica Una instancia de la clase caso_uso se interpretar´a como la representaci´on en este modelo de un CU Funcional, presente en un Modelo de Caso de Uso externo.

Notaci´on

Por estar basado en el MCU, la notaci´on para esta clase ser´a la misma que se utiliza en

Figura 4.8: Representaci´on de una instancia de la clase caso uso

dicho modelo, es decir, un ´ovalo con el nombre del elemento, como puede apreciarse en la Figura 4.8. Su nombre puede encontrarse tanto debajo del elemento como dentro del mismo. Clase caso uso cc

Descripci´on Esta clase representa un Caso de Uso Crosscutting, obtenido de una operacional- izaci´on operaci´on de un softgoal

Atributos

titulo:string

T´ıtulo de la operacionalizaci´on representada Asociaciones

afecta a: caso_uso [1..*]

Relaci´on que indica cu´ales Casos de Uso funcionales se ver´an afectados por el Caso de Uso Crosscutting representado

inc cuc:sistema [1]

Relaci´on con el elemento padre del modelo Restricciones

Sin restricciones adicionales

Sem´antica Una instancia de la clase funcionalidad se corresponde con una operacionalizaci´on presente en la descomposici´on de un softgoal a trav´es de los mecanismos previstos por el Framework NFR.

Notaci´on

Similar a la notaci´on de una instancia de la clasecaso_uso, esta clase se representar´a me- diante un ´ovalo relleno con un patr´on lineal, como se detalla en la Figura 4.9.

4. Otros Modelos de Requisitos 49

Figura 4.9: Representaci´on de una instancia de la clase caso uso cc Clase actor

Descripci´on Esta clase representa a un Actor, correspondiente con un actor de un Diagrama de Casos de Uso

Atributos

titulo:string

Nombre del actor representado Asociaciones

extends:actor [0..1]

Relaci´on que representa, a su vez, la relaci´on extends entre dos actores representado realiza:caso_uso [1]

Casos de Uso que son realizados por el actor inv actores:sistema [1]

Relaci´on con el elemento padre del modelo Restricciones

Sin restricciones adicionales

Sem´antica Una instancia de la clase actor se corresponde con un actor presente en un Diagrama de Casos de Uso.

Notaci´on

Para esta clase se mantiene la notaci´on definida por UML para los DCU: un dibujo simpli-

Figura 4.10: Representaci´on de una instancia de la clase actor

ficado de una persona, con el nombre del actor escrito en un costado, como se aprecia en la figura 4.10

Clase sistema

Descripci´on Clase contenedora de todos los dem´as elementos del modelo Atributos

No posee atributos Asociaciones

actores:actor [*]

Actores del modelo cu:caso_uso [*]

50 4.4. Modelo de CU unificado y Tablas de composici´on cuc:caso_uso_cc [*]

Casos de Uso Crosscutting del modelo Restricciones

S´olo puede haber una instancia de esta clase por modelo

Sem´antica Una instancia de esta clase se utilizar´a como punto central del cual derivar los dem´as elementos del modelo. As´ı, esta clase no cumple otro rol que el de contener a las dem´as instancias de cada clase. Si bien en modelos puramente te´oricos esta clase es redundante, tiene utilidad en el marco de la herramienta ATL, donde es requerida.

Notaci´on No posee notaci´on, puesto que no se representa en el modelo

Documento similar