Diseño de Sistemas

¿Qué es?

El Diseño del Sistema es la etapa en la cual se presenta el Modelo del Sistema Propuesto.

Es donde se pone de manifiesto la creatividad del Analista, para solucionar el problema planteado en el Estudio de Factibilidad, y cumplir con los Objetivos establecidos en el Análisis del Sistema.

Es en el Diseño donde se establece la estructura del Sistema Propuesto, y se va armando la Documentación Técnica que servirá de base para su construcción y para un posterior mantenimiento.

El Diseño de Sistemas genera soluciones a requerimientos planteados. Describe las especificaciones del Sistema Propuesto y define CÓMO lo va a hacer el nuevo Sistema. En conclusión presenta el Modelo del Sistema Propuesto.

Normalmente se emplean Árboles y Tablas de Decisión para desarrollar la lógica de los procedimientos a ser elaborados.

banner descarga guia arboles decision

Guía de Árboles y Tablas de Decisión en HTML

Los resultados más resaltantes de esta etapa, es la propuesta del sistema de información que va a resolver el problema inicial planteado.

Normalmente el producto es el diseño del Front-End y del Back-End.

piezas a armar

El Back-End es la base de datos, y es el núcleo del sistema. Una buena base de datos le da integridad, consistencia y velocidad de respuesta a la aplicación.

El Front-End es la interfaz mediante la cual el usuario se comunicará con la Base de Datos, y viene representado por las pantallas y reportes.

En diseño de software el front-end es la parte del software que interactúa con el o los usuarios y el back-end es la parte que procesa la entrada desde el front-end. La separación del sistema en front-ends y back-ends es un tipo de abstracción que ayuda a mantener las diferentes partes del sistema separadas. La idea general es que el front-end sea el responsable de recolectar los datos de entrada del usuario, que pueden ser de muchas y variadas formas, y los transforma ajustándolos a las especificaciones que demanda el back-end para poder procesarlos, devolviendo generalmente una respuesta que el front-end recibe y expone al usuario de una forma entendible para este. La conexión del front-end y el back-end es un tipo de interfaz.

Tomado de Wikipedia

Un buen ejemplo para diferenciar el Front-End del Back-End en un desarrollo de sistemas, lo constituye el ir a un restaurant.

mesonero

Al llegar al establecimiento, tomamos contacto con el mesonero, quien será el que nos tome el pedido y se lo comunique a la Cocina.

cocinero

No nos importa quién es el cocinero, o de qué tamaño es la cocina. No nos enteramos acerca de la limpieza u orden de la cocina. El mesonero es nuestro enlace, y es quien luego de que el pedido sea procesado en la cocina, nos lo trae a la mesa.

De igual manera, cuando el usuario navega a través de las opciones de la aplicación, no tiene idea de cuál es la estructura de la base de datos ni cuál es el Manejador de Base de Datos que se está usando.  Realmente no le interesa. Sólo le interesa hacer su solicitud y que ésta sea respondida a la brevedad posible.

frontend y backend

Fases a seguir

Para que sirve un DFD
Para que sirve un DFD. Fuente Luis Castellanos

(1) Diagrama de Flujo de Datos del Sistema Propuesto


(2) Diccionario de Datos del Sistema Propuesto

Normalmente cuando se sigue una Metodología Orientada a Objetos 
para el Desarrollo del Sistema de Información, se emplea el UML 
(Unified Modelling Language - Lenguaje Unificado de Modelado) 
para modelar los procesos respectivos.
Se le atribuye a los "3 amigos": Grady Booch, Jim Rumbough e 
Ivan Jacobson, bajo el respaldo del Object Management Group (OMG) 
en 1995.

banner revisar uml


 (3) Diagrama Entidad Relación

  • Modela lógicamente las estructuras de datos del sistema relacionado
  • Describe la distribución de datos almacenados
  • Consta de:
    • Entidades (algo acerca de lo cual guardamos información). No confundir con las Entidades externas del DFD.
    • Relaciones
    • 1:1
    • 1:n
    • m:n
Diversas maneras de graficar DER. Luis Castellanos.
Diversas maneras de graficar DER. Luis Castellanos.
El DER fue propuesto por Peter Chen

(4) Diagrama Estructurado de Datos

  • Representa el uso de los datos como Modelo Funcional.
  • Refleja el uso de los datos a través de un Modelaje Físico de la Base de Datos
  • Se basa en el DER
  •  Elementos:
    • Entidades
    • Relaciones
    • Campos Claves o Primarios
    • Campos
El DED DEBE coincidir con el DER. Es decir, si hay 25 entidades 
en el DER, deben existir 25 entidades en el DED. 
Si la entidad A se relaciona con la entidad B en el DER, 
en el DED también debe existir la misma relación.
Gráfico DED. Luis Castellanos.
Gráfico DED. Luis Castellanos.

Ejemplo de DER y DED:

Ejemplo DEREjemplo DED


 (5) Carta Estructurada (o Mapa de Navegación)

    • Presenta el “plano” del sistema propuesto
    • Sirve para:
      • hacer participar al usuario
      • diseñar funciones detalladas
      • diseñar menús
      • planificar el desarrollo de programas
      • monitorear el desarrollo
Modelo de Carta Estructurada o Mapa de Navegación
Modelo de Carta Estructurada o Mapa de Navegación. Luis Castellanos.

banner descarga ejemplo carta estructurada


 (6) Diagramas de Acción

  • Describen detalladamente los elementos de un programa o módulo.
  • Es la última etapa del diseño y materia prima para el programador
  • También se le conoce por: Lenguaje estructurado, pseudo código, algoritmo, etc.
  • Permiten representar la estructura global de un programa y el detalle de las tareas que realizan los módulos que lo componen
  • Facilita cambiar las palabras claves por los comandos del lenguaje de programación a usar
  • Se pueden elaborar aparte del DFD, o como parte del DD en los procesos del último nivel de resolución.

diagramas de accion 1

Otra opción la representa el uso de Diagramas de Flujo para establecer la lógica de los procesos.

diagrama de flujo simbolos
Símbolos de Diagramas de Flujo
diagrama de fluijo ejemplo
Ejemplo de Diagrama de Flujo
Lo importante es darle al programador la lógica de cada uno de 
los procesos, para que éste haga su trabajo de codificación.

(7) Diseño de Interfases (Pantalla, Impresora, otros)

disenador reportes
Diseñador de Reportes
  • Se diseñan las plantillas para las pantallas del sistema y para los reportes impresos (para el programador) y se muestran las pantallas y reportes como se proponen (para aprobación del usuario)
  • El Diseño de Interfases debe:
    • satisfacer objetivos planteados
    • adaptarse al usuario
    • proveer  cantidad adecuada de información
    • proporcionar el método apropiado para la salida
  • La salida debe ser oportuna y disponible para el usuario
  • Formas de salidas:


(8) Selección de la plataforma de desarrollo

  • Se selecciona la plataforma de desarrollo más adecuada para el sistema propuesto.
  • Plataforma incluye el Hardware, el Sistema Operativo, Lenguaje de Programación y Manejador de Base de Datos.

Material complementario

banner revisar case

4 enfoques de Base de Datos. Fuente Luis Castellanos

Normalización

  • Consiste en simplificar la relación entre los atributos de una entidad
  • Transforma estructuras complejas en conjuntos estables de menor tamaño
  • Ventajas:
    • Facilita el mantenimiento
    • Elimina redundancia
    • Provee consistencia
    • Ahorra memoria en dispositivos de almacenamiento
  • Formas Normales
  • 1FN (1ra Forma Normal) (Elimina grupos repetidos)
  • 2FN (Elimina dependencias parciales y busca dependencia funcional con clave primaria)
  • 3FN (Elimina dependencias transitivas)
  • BCNF (Forma Normal Boyce/Codd)
  • 4FN
  • 5FN
Ejemplo de Normalización. Fuente Luis Castellanos
Ejemplo de Normalización. Fuente Luis Castellanos
Ejemplo de Normalización. Fuente Luis Castellanos
Ejemplo de Normalización. Fuente Luis Castellanos
Ejemplo de Normalización. Fuente Luis Castellanos

 Banner De todo un Poco (1) 600 px

Anuncios

Publicado por

Luis Castellanos

Luego de unos años en Maracaibo, de regreso en Caracas. Docente Universitario y Bloguero. Orgulloso padre de dos hijos. luiscastellanos @ yahoo.com | @lrcastellanos