miércoles, 23 de septiembre de 2020

1.- CONCEPTO Y PRINCIPIO DEL DISEÑO

 

INTRODUCCIÓN


El objetivo de los diseñadores es producir un modelo o representación de una entidad que será construida después. En cualquier proceso de diseño existen dos fases importantes: la diversificación y la convergencia. La diversificación es la adquisición de un repertorio de alternativas, de un material primitivo de diseño: componentes, soluciones de componentes y conocimiento, todo dentro de catálogos, de libros de texto y en la mente. Durante la convergencia, el diseñador elige y combina los elementos adecuados y extraídos de este repertorio para satisfacer los objetivos del diseño, de la misma manera a como se establece en el documento de los requisitos, y de la manera en que se acordó con el cliente


1.1.- CONCEPTO

El diseño de la arquitectura define la relación entre los elementos principales de la estructura del software, los estilos y patrones de diseño de la arquitectura que pueden usarse para alcanzar los requerimientos definidos por el sistema y las restricciones que afectan la forma en la que se implementa la arquitectura.

El diseño del software siempre debe comenzar con el análisis de los datos, pues son el fundamento de todos los demás elementos del diseño. Una vez obtenido el fundamento, se obtiene la arquitectura. Sólo entonces deben realizarse otros trabajos del diseño.


Video complementario:



CONCEPTOS RELACIONADOS CON EL DISEÑO ARQUITECTÓNICO

DISEÑO  DE  DATOS

Los objetos de datos y las relaciones definidas en el diagrama entidad-relación y el contenido detallado de datos del diccionario de datos constituyen la base para el diseño de datos.

DISEÑO ARQUITECTÓNICO

Se obtiene a partir del modelo de análisis y de la interacción de subsistemas definidos dentro del modelo de análisis.

DISEÑO  DE  INTERFAZ

Describe como se comunica el software consigo mismo, con los sistemas que operan con él y con los operadores que lo emplean.

DISEÑO  PROCEDIMENTAL

Se obtiene a partir de la especificación del proceso, la especificación del control y el diagrama de transición de estados


COMPONENTES DEL DISEÑO

SÍMBOLOS GRÁFICOS

Identifica y describe los componentes de un sistema y las relaciones entre estos.

DICCIONARIOS DE DATOS

 

Describe todos los datos utilizados en el sistema pueden ser manual o automatizado.

DESCRIPCIONES DE PROCESOS Y PROCEDIMIENTOS

Descripción técnica para describir las actividades que se realizan los procesos.

REGLAS

Pasos a seguir para describir y documentar de  forma correcta y completa.


HERRAMIENTAS

DIAGRAMA DE FLUJO DE DATOS

Es la base para otros componentes y describe como navegan los datos entre procesos y elementos relacionados.

DICCIONARIO DE DATOS

Contiene las características de los campos y/o descripción detallada de los diferentes objetos que componen el sistema

DIAGRAMA ENTIDAD RELACIÓN (DER)

describe la relación entre las entidades y los objetos (conjunta de información que contienen las entidades)


1.2.- EL PROCESO DE DISEÑO

El diseño de software es un proceso iterativo por medio del cual se traducen los requerimientos “en un plano” para construir el software. Al principio, el plano ilustra una visión holística del software. Es decir, el diseño se representa en un nivel alto de abstracción, en el que se rastrea directamente el objetivo específico del sistema y los requerimientos  más detallados de datos, funcionamiento y comportamiento. A medida que tienen lugar las iteraciones del diseño, las mejoras posteriores conducen a niveles menores de abstracción. Éstos también pueden rastrearse hasta los requerimientos, pero la conexión es más útil.



El diseño de la arquitectura de software tiene en cuenta dos niveles de la pirámide del diseño mostrada en la figura: diseño de datos y diseño arquitectónico.

El diseño de datos nos facilita la representación de los componentes de datos de la arquitectura.

El diseño arquitectónico se centra en la representación de la estructura de los componentes del software, sus propiedades e interacciones.

La arquitectura del sistema afecta el rendimiento, solidez, grado de distribución y mantenibilidad de un sistema. (Bosch, 2000). El estilo y estructura particulares elegidos para una aplicación puede, por lo tanto, depender de los requerimientos no funcionales del sistema:

  1. Rendimiento. Si el rendimiento es un requerimiento crítico, la arquitectura debería diseñarse para identificar las operaciones críticas en un pequeño número de subsistemas, con tan poca comunicación como sea posible entre estos subsistemas.
  2. Protección. Si la protección es un requerimiento crítico, debería usarse una arquitectura estructurada en capas, con los recursos más críticos protegidos en las capas más internas y aplicando una validación de seguridad de alto nivel en dichas capas.
  3. Seguridad. Si la seguridad es un requerimiento crítico, la arquitectura debería diseñarse para que las operaciones relacionadas con la seguridad se localizaran en un único subsistema o en un pequeño número de subsistemas. Esto reduce los costes y los problemas de validación de seguridad y hace posible crear los sistemas de protección relacionados con los de seguridad.
  4. Disponibilidad. Si la disponibilidad es un requerimiento crítico, la arquitectura debería diseñarse para incluir componentes redundantes y para que sea posible reemplazar y actualizar componentes sin detener el sistema.
  5. Mantenibilidad. Si la mantenibilidad es un requerimiento crítico, la arquitectura del sistema debería diseñarse usando componentes independientes de grano fino que puedan modificarse con facilidad. Los productores de los datos deberían separarse de los consumidores y deberían evitarse las estructuras de datos compartidas.

El Diseño de Software es una secuencia de pasos, no es una receta pues intervienen:

  • La creatividad, experiencia y un compromiso con la calidad.
  • Existen factores de calidad internos y externos.
  • Externos. Propiedades que pueden ser observadas por los usuarios.
  • Internas. Son buscados por el Ingeniero de Software.

 

El diseño del software es tanto un proceso como un modelo. El proceso de diseño es una secuencia de pasos que hacen posible que el diseñador describa todos los aspectos del software que se va a construir. El modelo de diseño es equivalente a los planes de un arquitecto para una casa. Comienza representando la totalidad de todo lo que se va a construir (por ejemplo, una representación en tres dimensiones de la casa) y refina lentamente lo que va a proporcionar la guía para construir cada detalle (por ejemplo, el diseño de fontanería). De manera similar, el modelo de diseño que se crea para el software proporciona diversas visiones diferentes de software de computadora.

Según Alan Davis, los principios de diseño son los siguientes:

1. En el proceso deben tomarse enfoques alternativos.

2. Deberá rastrearse hasta el análisis.

3. Se debe reutilizar.

4. Tratar de imitar el dominio del problema.

5. Uniformidad e integración.

6. Deberá estructurarse para admitir cambios.

7. Debe prever la adaptación a circunstancias inusuales.

8. No codificar.

9. Evaluarse en función de calidad mientras está creciendo.

10. Minimizar errores conceptuales.


Video complementario:




No hay comentarios:

Publicar un comentario