Modelado y Especificación de Sistemas Software: Conceptos y Técnicas

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,75 KB

Modelado de Sistemas

Concepto de Modelo

Un modelo conceptual es una abstracción lógico-matemática del mundo real que nos permite comprender y representar un sistema. Debe explicar qué debe hacer el sistema y no cómo lo debe hacer.

Objetivos del Modelo

  • Facilitar la comprensión del sistema.
  • Establecer un marco para la discusión entre los interesados.
  • Fijar las bases para realizar el diseño.
  • Facilitar la verificación del cumplimiento de los objetivos.

Técnicas de Modelado

  • Descomposición, modelo jerarquizado: Divide el problema en subproblemas. Existen dos tipos:
    • Descomposición horizontal: Descompone el problema funcionalmente.
    • Descomposición vertical: Descompone el problema estructuralmente.
  • Aproximaciones sucesivas: Se parte de un modelo inicial que se va refinando y mejorando con el tiempo.
  • Empleo de diversas notaciones: Es óptimo emplear varias notaciones juntas cuando sea necesario. También se utilizan las herramientas CASE, que son herramientas de ayuda al análisis y al diseño, que combinan texto, tablas, gráficos, diagramas, etc.
  • Considerar varios puntos de vista: Se debe elegir el más conveniente, ya sea el funcional, el del mantenedor del sistema, etc., o una mezcla de varios.
  • Realizar un análisis del dominio: Entendemos por dominio el campo de aplicación en el que se encuadra el sistema a desarrollar. Estudiar el dominio de la aplicación reporta las siguientes ventajas:
    • Facilitar la comunicación entre el analista y el usuario del sistema.
    • Creación de elementos realmente significativos del sistema.
    • Reutilización posterior del software desarrollado.

Análisis de Requisitos Software

La etapa de análisis se encuadra dentro de la primera fase del ciclo de vida del software. Distinguiremos al cliente, que será el encargado, junto con el analista, de elaborar las especificaciones del proyecto de software y de verificar el cumplimiento de las mismas.

Objetivos del Análisis

El objetivo global es obtener las especificaciones que debe cumplir el sistema a desarrollar. Para que una especificación sea correcta, debe ser:

  • Completa y sin omisiones.
  • Concisa y sin trivialidades.
  • Sin ambigüedades.
  • Sin detalles de diseño e implementación.
  • Fácilmente entendible por el cliente.
  • Separando requisitos funcionales y no funcionales:
    • Funcionales: Establecen el funcionamiento del sistema.
    • No funcionales: Encuadran el sistema dentro de un entorno de trabajo, como capacidad, interfaces, recursos, seguridad, fiabilidad, mantenimiento, calidad, etc.
  • Dividiendo y jerarquizando el modelo.
  • Fijando los criterios de validación del sistema: Se realizará con carácter preliminar el Manual de Usuario del Sistema.

Tareas del Análisis

Las tareas, por su orden cronológico, serán:

  1. Estudio del sistema en su contexto.
  2. Identificación de necesidades.
  3. Análisis de alternativas y estudio de viabilidad.
  4. Establecimiento del modelo del sistema.
  5. Elaboración del documento de especificación de requisitos: Debe recoger todas las conclusiones del análisis y será utilizado por el diseñador como inicio de su trabajo. También establece las condiciones de validación del sistema una vez concluido su desarrollo e implementación.
  6. Revisión continuada del análisis: A lo largo del desarrollo, y según aparecen problemas en el diseño y codificación, se tendrán que modificar algunos de los requisitos del sistema.

Notaciones para la Especificación

La especificación será fundamentalmente una descripción del modelo a desarrollar. Las notaciones más frecuentes son:

Lenguaje Natural

Suficiente para especificar sistemas de pequeña complejidad, pero insuficiente para sistemas más complejos. Sus principales inconvenientes son las imprecisiones, repeticiones e incorrecciones. El lenguaje natural estructurado es una notación más formal, en la que se establecen ciertas reglas para la construcción de frases que especifican acciones tipo secuencia, iteración y selección.

Diagrama de Flujo de Datos (DFD)

Un sistema software se puede modelar mediante el flujo de datos que entran, su transformación y el flujo de datos de salida. Los símbolos que se utilizan son:

  • Flecha: Indica el sentido del flujo.
  • Círculo: Representa un proceso o transformación de datos.
  • Línea doble: Representa un almacén de datos.
  • Rectángulo: Representa una entidad externa al sistema software.

Niveles de DFD:

  • DFD de contexto: Es el del sistema global, se llama de nivel 0.
  • DFD 0 o nivel 1: Es el resultado de explotar el DFD de contexto.
  • DFD 1 hasta DFD n o nivel 2: Es el resultado de la explotación de los procesos anteriores, dando lugar a otros subprocesos.

Los flujos de entrada y salida antes de la explosión del proceso deben coincidir con los flujos de entrada y salida del DFD resultado de la explosión. Mediante un DFD nunca se puede establecer la dinámica o secuencia en que se ejecutarán los procesos.

Diagramas de Transición de Estados

Es la notación específica para describir el comportamiento dinámico del sistema a partir de los estados elegidos como más importantes. Para representar un estado se suele hacer mediante un rectángulo, y los eventos que provocan un cambio de estado, mediante flechas con tramos rectos.

Descripciones Funcionales. Pseudocódigo

Los requisitos se deberán expresar como mínimo en un lenguaje natural estructurado y, a ser posible, en pseudocódigo (notación basada en un lenguaje de programación estructurado). En una especificación no se debe establecer ninguna forma concreta de organización de la información, ni ninguna propuesta de los procedimientos de resolución de los problemas.

Las estructuras básicas en las que se puede emplear pseudocódigo son:

  • Selección.
  • Selección por casos.
  • Iteración con precondición.
  • Iteración con postcondición.
  • Número de iteraciones conocido.

Descripción de Datos

Se trata de detallar la estructura interna de los datos que maneje el sistema, de los datos que resulten relevantes para entender qué debe hacer el sistema. La notación adoptada es el diccionario de datos, en el que se describirán:

  • Nombre o nombres: Los que toma el dato en la especificación.
  • Utilidad: Se indican los procesos, descripciones funcionales y almacenes donde se use el dato.
  • Estructura: Se indican los elementos de los que está constituido el dato, con arreglo a la siguiente notación:
    • A + B : Secuencia o concatenación de los elementos A y B.
    • [A | B] : Selección entre los distintos elementos A o bien B.
    • {A} N : Repetición de N veces del elemento A.
    • ( A ): Opcionalmente se podrá incluir el elemento A.
    • / descripción / : Descripción en lenguaje natural como comentarios.
    • = : Separador entre el nombre de un elemento y su descripción.

Entradas relacionadas: