Desarrollo De Proyectos De Software (3)

Diseño De Datos

El diseño de datos, es la primera de las tres actividades de diseño realizadas durante la ingeniería del software. El impacto de la estructura de datos sobre la estructura de programa y la complejidad procedimental, hace que el diseño de datos tenga una gran influencia en la calidad del software. Los conceptos de ocultamiento de información y de abstracción de datos, conforman la base de los métodos de diseño de datos.

“La actividad principal durante la fase de diseño de datos, es la selección de las representaciones lógicas de las estructuras de datos; identificados durante las fases de definición y especificación de requerimientos. Una actividad importante durante el diseño, es la de identificar los módulos de programa que deben operar directamente sobre las estructuras de datos. De esta forma, puede restringirse el ámbito del efecto de las decisiones concretas de diseño de datos”.

Los datos bien diseñados conducen a:

  • Mejor estructura de programa.
  • Modularidad efectiva.
  • Complejidad procedimental reducida.

Principios Para La Especificación De Datos

Los principios que se citan a continuación, son la base del método de diseño de datos y una definición clara de la información es esencial, para el desarrollo de un buen software.

1.- Los principios sistemáticos de análisis aplicados a la función y el comportamiento, también deben aplicarse a los datos.

Al igual que en la fases de análisis del sistema, también se debe:

  • Desarrollar y revisar las representaciones del flujo y del contenido de los datos.
  • Identificar las estructuras de datos.
  • Considerar estructuras de datos alternativas.
  • Evaluar el impacto de la modelización de datos sobre el diseño del software

Por ejemplo, la especificación de una lista enlazada circular, puede satisfacer los requerimientos de los datos; pero también puede conducir a un diseño del software difícil de manejar, por lo que deberemos ver, si existen otras estructuras de datos alternativas que lleven a mejores resultados.

2.- Se deben identificar todas las estructuras de datos y las operaciones que se han de realizar sobre cada una de ellas.

El diseño de una estructura eficiente, debe tener en cuenta las operaciones que han de realizarse sobre dicha estructura de datos.
Por ejemplo, la especificación de un tipo abstracto de datos puede simplificar considerablemente el diseño del software.

3.- Debe establecerse y usarse un diccionario de datos para definir el diseño de los datos y del programa.
Un diccionario de datos representa explícitamente las relaciones entre los datos y las restricciones sobre los elementos de una estructura de datos.

4.- Se deben posponer las decisiones de diseño de datos de bajo nivel, hasta más adelante en el proceso de datos.
Para el diseño de datos puede seguirse un proceso de refinamiento sucesivo; es decir, puede definirse una organización global de los datos durante el análisis de requerimientos, refinarse durante el diseño preliminar y especificarse en detalle en el diseño detallado.

5.- La representación de una estructura de datos, sólo debe ser conocida por los módulos que hagan uso directo de los datos contenidos en la estructura.
El concepto de ocultamiento de información y el concepto de acoplamiento asociado, proporcionan una valoración importante de la calidad del diseño del software.

6.- Se debe desarrollar una librería de estructuras de datos útiles y de las operaciones que se le pueden aplicar.
Se pueden diseñar las estructuras de datos de forma que sean reusables; para que las estructuras de datos y las operaciones, se vean como recursos para el diseño de software.

7.- El diseño de software y el lenguaje de programación deben soportar la especificación y realización de tipos abstractos de datos.
La implementación de una estructura de datos compleja puede convertirse en una tarea muy difícil, si no hay una forma directa de realizar una especificación directa de la estructura de datos.

Diseño Procedimental

Se realiza después de que se ha establecido la estructura del programa y de los datos. Debe especificar los detalles de los procedimientos sin ambigüedad.
Los fundamentos del diseño procedimental se establecieron, cuando se propuso el uso de un conjunto de construcciones lógicas con las que podía formarse cualquier programa.

Las construcciones son:

  • La secuencia.
  • La condición.
  • La repetición.

Estas tres construcciones son fundamentales en la programación estructurada. Las construcciones estructuradas se propusieron para limitar el diseño procedimental del software, a un conjunto reducido de operaciones predecibles, facilitando la legibilidad, prueba y mantenimiento de los programas.

La Secuencia
La Condición
La Repetición

Interfaz De Usuario

Definición:

Las interfaces básicas de usuario, son aquellas que incluyen elementos como menús, ventanas, teclado, ratón, los beeps y algunos otros sonidos que la computadora hace, y en general; todos aquellos canales por los cuales se permite la comunicación entre el ser humano y la computadora. La mejor interacción humano-máquina a través de una adecuada interfaz (Interfaz de Usuario), que le brinde tanto comodidad como eficiencia.

Funciones principales

Sus principales funciones son las siguientes:

  • Puesta en marcha y apagado.
  • Control de las funciones manipulables del equipo.
  • Manipulación de archivos y directorios.
  • Herramientas de desarrollo de aplicaciones.
  • Comunicación con otros sistemas.
  • Información de estado.
  • Configuración de la propia interfaz y entorno.
  • Intercambio de datos entre aplicaciones.
  • Control de acceso.
  • Sistema de ayuda interactivo.

Tipos:

Dentro de las Interfaces de Usuario se puede distinguir básicamente tres tipos:

  • Una interfaz de hardware a nivel de los dispositivos utilizados; para ingresar, procesar y entregar los datos: teclado, ratón y pantalla visualizadora.
  • Una interfaz de software, destinada a entregar información acerca de los procesos y herramientas de control; a través de lo que el usuario observa habitualmente en la pantalla.
  • Una interfaz de Software-Hardware, que establece un puente entre la máquina y las personas; permite a la máquina entender la instrucción y al hombre entender el código binario traducido a información legible.

1. Según la forma de interactuar del usuario.

Atendiendo a la forma como el usuario puede interactuar con una interfaz, nos encontramos con varios tipos de interfaces de usuario:

  • Interfaces alfanuméricas (intérpretes de comandos) que solo presentan texto.
  • Interfaces gráficas de usuario (GUI, graphic user interfaces), las que permiten comunicarse con el ordenador de una forma muy rápida e intuitiva, representando gráficamente los elementos de control y medida.
  • Interfaces táctiles, que representan gráficamente un «panel de control» en una pantalla sensible, que permite interactuar con el dedo de forma similar a si se accionara un control físico.

2. Según su construcción.

Pueden ser de hardware o de software:

  • Interfaces de hardware: Se trata de un conjunto de controles o dispositivos que permiten que el usuario intercambie datos con la máquina, ya sea introduciéndolos (pulsadores, botones, teclas, reguladores, palancas, manivelas, perillas) o leyéndolos (pantallas, diales, medidores, marcadores, instrumentos).
  • Interfaces de software: Son programas o parte de ellos, que permiten expresar nuestros deseos al ordenador o visualizar su respuesta.

Valoración

El principal objetivo de una interfaz de usuario, es que éste pueda comunicar información a través de ella hacia algún tipo de dispositivo o sistema. Conseguida esta comunicación, el siguiente objetivo es el que dicha comunicación se desarrolle de la forma más fácil y cómoda posible, para las características del usuario que utiliza el servicio.

Redes Sociales...
Tweet about this on TwitterShare on Google+Share on FacebookShare on LinkedInEmail this to someone

En Electrónica ML utilizamos cookies para que usted obtenga una mejor experiencia como usuario de nuestra web. Si continúa navegando, está dando su consentimiento para la aceptación y uso de las mencionadas cookies y la aceptación de nuestra política de cookies, click en el enlace para mayor información.

ACEPTAR
Aviso de cookies
Soporte Técnico