Diseñando el Sistema
1. Diseño – qué es
Diseño y Especificación de Requerimientos
Descomposición – Enfoques
2. Arquitectura (distintos estilos)
3. Técnicas y Herramientas
4. Características de un buen diseño
5. Técnicas para mejorar el diseño
6. Validación del Diseño
7. Documentación
1. Diseño – qué es
Significado:
Proceso por el que se genera una solución a un problema
Descripción de la solución
(Gp:) Diseño 1
(Gp:) Diseño 2
(Gp:) Diseño n
(Gp:) …
Distintos Diseños (Alternativas) permiten cumplir con los requerimientos, pero cada uno ofrece prestaciones específicas
Requeri-
mientos
Restricciones
DISEÑO CONCEPTUAL
función
DISEÑO
TÉCNICO
forma
QUÉ
CÓMO
Constructores
del Sistema
Diseñadores
del Sistema
Clientes
Diseño y Especificación de Requerimientos(1)
Diseño y Especificación de Requerimientos(2)
El usuario podrá enviar mensajes a cualquier usuario en cualquier otra computadora en red
Topología de Red
Protocolo
Velocidad (bps)
. . .
DISEÑO
TÉCNICO
DISEÑO
CONCEPTUAL
Descomposición y Modularidad
Determinar un conjunto de componentes e interfaces entre ellos, que satisfacen un conjunto especificado de requerimientos (De Marco 1982)
Métodos de descomposición (Wasserman 1995)
Modular (a partir de las funciones)
A partir de los Datos
A partir de Eventos (y transiciones de Estados)
A partir de las Entradas (de afuera hacia adentro)
Orientado a Objetos
Sistema Modular: cuando cada una de las actividades la realiza exactamente un único componente donde además están bien definidas c/u de sus entradas y salidas.
Proceso de Descomposición
Nivel Superior
Primer Nivel de
descomposición
Segundo Nivel de
descomposición
Niveles de Diseño
(1) Arquitectura:
Requerimientos => componentes del sistema y sus interconexiones
(2) Diseño del Código:
Módulos => algoritmos y estructuras de datos
(3) Diseño de la Ejecución:
Algoritmos (código) => asignación de memoria, tiempo de ejecución, optimizaciones de código
ENFOQUE: trabajar desde lo general a lo particular
Proceso genérico de Diseño (Sommerville)
Diseño
Arquitectónico
Especificación
subsistemas
Especificación
interfaces
Diseño
estructuras
de datos
Diseño
algoritmos
Diseño
elementos
NIVEL 1
NIVEL 2
NIVEL 3: se realiza sobre el nivel 2
Página siguiente |