Lección 36. Fase de Construcción del Modelo

Diseño de Alto Nivel

En la fase de Diseño de Alto Nivel de un ciclo de desarrollo se investiga sobre el problema, sobre los conceptos relacionados con el subconjunto de casos de uso que se esté tratando. Se intenta llegar a una buena comprensión del problema por parte del equipo de desarrollo, sin entrar en cómo va a ser la solución en cuanto a detalles de implementación.

Cuando el ciclo de desarrollo no es el primero, antes de la fase de Diseño de Alto Nivel hay una serie de actividades de planificación. Estas actividades consisten en actualizar los modelos que se tengan según lo que se haya implementado, pues siempre se producen desviaciones entre lo que se ha analizado y diseñado y lo que finalmente se construye. Una vez se tienen los modelos acordes con lo implementado se empieza el nuevo ciclo de desarrollo con la fase de Diseño de Alto Nivel.

En esta fase se trabaja con los modelos de Diseño de Alto Nivel construidos en la fase anterior, ampliándolos con los conceptos correspondientes a los casos de uso que se traten en el ciclo de desarrollo actual.

Actividades

Las actividades de la fase de Diseño de Alto Nivel son las siguientes:

  1. Definir Casos de Uso Esenciales en formato expandido. (si no están definidos )
  2. Refinar los Diagramas de Casos de Uso.
  3. Refinar el Modelo Conceptual.
  4. Refinar el Glosario. (continuado en posteriores fases).
  5. Definir los Diagramas de Secuencia del Sistema.
  6. Definir Contratos de Operación.
  7. Definir Diagramas de Estados. (opcional)

 

Modelo Conceptual

Una parte de la investigación sobre el dominio del problema consiste en identificar los conceptos que lo conforman. Para representar estos conceptos se va a usar un Diagrama de Estructura Estática de UML, al que se va a llamar Modelo Conceptual. En el Modelo Conceptual se tiene una representación de conceptos del mundo real, no de componentes software. El objetivo de la creación de un Modelo Conceptual es aumentar la comprensión del problema. Por tanto, a la hora de incluir conceptos en el modelo, es mejor crear un modelo con muchos conceptos que quedarse corto y olvidar algún concepto importante.

Identificación de Conceptos

Para identificar conceptos hay que basarse en el documento de especificación de requisitos y en el conocimiento general acerca del dominio del problema. Otro consejo para identificar conceptos consiste en buscar sustantivos en los documentos de requisitos o, más concretamente, en la descripción de los casos de uso. No es un método infalible, pero puede servir de guía para empezar.

Para poner nombre a los conceptos se puede usar la analogía con el cartógrafo, resumida en los siguientes tres puntos:

  • Usar los nombres existentes en el territorio: hay que usar el vocabulario del dominio para nombrar conceptos y atributos.
  • Excluir características irrelevantes: al igual que el cartógrafo elimina características no relevantes según la finalidad del mapa (por ejemplo datos de población en un mapa de carreteras), un Modelo Conceptual puede excluir conceptos en el dominio que no son pertinentes en base a los requisitos.
  •  No añadir cosas que no están ahí: si algo no pertenece al dominio del problema no se añade al modelo.

Creación del Modelo Conceptual

Para crear el Modelo Conceptual se siguen los siguientes pasos:

  • Hacer una lista de conceptos candidato usando la Lista de Categorías de Conceptos y la búsqueda de sustantivos relacionados con los requisitos en consideración en este ciclo.
  • Representarlos en un diagrama.
  • Añadir las asociaciones necesarias para ilustrar las relaciones entre conceptos que es necesario conocer.
  • Añadir los atributos necesarios para contener toda la información que se necesite conocer de cada concepto.

Identificación de Asociaciones

Una asociación es una relación entre conceptos que indica una conexión con sentido y que es de interés en el conjunto de casos de uso que se está tratando. Se incluyen en el modelo las asociaciones siguientes:

  • Asociaciones para las que el conocimiento de la relación necesita mantenerse por un cierto período de tiempo (asociaciones “necesita-conocer”).
  • Asociaciones derivadas de la Lista de Asociaciones

Identificación de Atributos

Es necesario incorporar al Modelo Conceptual los atributos necesarios para satisfacer las necesidades de información de los casos de uso que se estén desarrollando en ese momento.

Los atributos deben tomar valor en tipos simples (número, texto, etc.), pues los tipos complejos deberían ser modelados como conceptos y ser relacionados mediante asociaciones, incluso cuando un valor es de un tipo simple es más conveniente representarlo como concepto en las siguientes ocasiones cuando:

  • Se compone de distintas secciones. Por ejemplo: un número de teléfono, el nombre de una persona, etc.
  • Tiene operaciones asociadas, tales como validación. Ejemplo: número único de identificación.
  • Tiene otros atributos. Por ejemplo un precio de oferta puede tener fecha de fin.
  • Es una cantidad con una unidad. Ejemplo: El precio, que puede estar en pesos, dólares o en euros.
  • Una vez definidos los atributos se tiene ya un Modelo Conceptual. Este modelo no es un modelo definitivo, pues a lo largo del desarrollo se va refinando según se le añaden conceptos que se habían pasado por alto.

Glosario

En el glosario debe aparecer una descripción textual de cualquier elemento de cualquier modelo, para eliminar toda posible ambigüedad. Se ordena alfabéticamente por término.

Obra colocada bajo licencia GNU Free Documentation License