Documente Academic
Documente Profesional
Documente Cultură
¿Qué es el diseño de
sistemas?
Análisis y Diseño de
z Es la evaluación de las distintas soluciones
Sistemas alternativas y la especificación de una solución
detallada de tipo informático.
Dpto. Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur z Decidir a partir de las distintas alternativas.
Clase 2
z La elección la hacen propietarios del sistema y
24 – Diseño de Sistemas equipo técnico.
Lic. María Mercedes Vitturini
z El diseño transforma progresivamente los
[mvitturi@cs.uns.edu.ar] requerimientos del sistema a través de un
número de pasos intermedios hasta llegar al
1er. CUATRIMESTRE 2006 producto final.
Análisis y Diseño de Sistemas - Clase 24
Diseño1 ¿Cómo?
z Salidas: el diseño del sistema que incluye:
z Diseño de la arquitectura
Diseño2
z Diseño detallado (diseño de módulos, funciones)
z Diseño de las estructuras de datos
DISEÑO Cómo
z Diseño de las interfaces
PRODUCTO
Análisis y Diseño de Sistemas - Clase 24 Análisis y Diseño de Sistemas - Clase 24
z Diseño de Datos: transforma el modelo del dominio z Diseño a nivel de componente: se asignan
de información del análisis en las estructuras de servicios a los distintos componentes y se diseñan
datos que se necesitan para implementar el sus interfaces.
software.
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
1
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Modularización
z La modularización es un principio
Modularización fundamental del diseño..
z La descomposición modular se realiza en
varias etapas y de varias formas y se aplica
en forma iterativa.
Conceptos relacionados con el z Las estrategias de descomposición son:
principio de “modularización” z Estrategia top down (descendente)
z Estrategia bottom-up (ascendente)
z Combinación de ambas estrategias
Análisis y Diseño de Sistemas - Clase 24
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
2
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
COSTO DE ESFUERZO
z Interesa definir las relaciones entre los REGION DE
módulos: COSTO
MÍNIMO
z Para asignar tareas.
z Para controlar el desarrollo.
Costo / módulo
NUMERO DE MODULOS
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
3
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
4
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Descomposición en Capas y
Particiones Diseño en Capas
z La descomposición de un sistema en
z Un sistema en capas es un conjunto
subsistemas puede ser organizada como:
ordenado de mundos virtuales, cada uno
z Capas (horizontales)
construido en términos de los inferiores y
z Particiones (verticales) proveyendo la base de implementación para
los superiores.
z El conocimiento es en una sola vía (se
conocen las capas inferiores).
Capas Capas
z Las arquitecturas por capas pueden ser:
z La capa superior es el sistema deseado.
z Abiertas: usa aspectos de cualquier capa
inferior. z La capa inferior son los recursos disponibles:
hardware, sistema operativo, librerías.
z Reduce la necesidad de redefinir operaciones.
z Menos robusta.
z Permite portabilidad reescribiendo una sola
capa.
z Es más difícil reemplazar una capa.
z Es recomendable introducir una capa de
z Cerradas: construida en términos de la capa
abstracción entre la aplicación y los servicios
inmediata inferior. provistos por el sistema operativo o hardware.
z Respeta principio de ocultamiento de información.
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
5
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Definición de tareas
Concurrencia Inherente concurrentes
z El modelo dinámico es una guía para identificar z Thread (hilo) de Control: es un camino a
la concurrencia. través del diagrama de estados en el cual hay
z Dos objetos son inherentemente concurrentes si un sólo objeto activo.
pueden recibir eventos simultáneamente sin z Un hilo permanece en un diagrama hasta que
interactuar entre sí. se envía un evento a otro objeto. Eventualmente
z Aunque todos los objetos son conceptualmente puede retornar.
concurrentes, en la práctica varios objetos de un z El hilo se bifurca si envía un evento y sigue
sistema son interdependientes. ejecutando.
z Son deseables subsistemas independientes, z Los hilos se implementan como tareas.
para asignarlos a diferentes computadores.
Análisis y Diseño de Sistemas - Clase 24 Análisis y Diseño de Sistemas - Clase 24
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
6
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Asignación de Tareas a
Consideraciones de Hw-Sw Procesadores
z Decidir qué subsistemas serán implementados z Criterios:
por hardware y cuales en software. z Ciertas tareas se requieren en determinada
z Razones para implementar en HW: ubicación física, por ejemplo para controlar cierto
z HW provee exactamente la funcionalidad requerida. hardware.
z Si se necesita mayor performance que la actual y z El tiempo de respuesta o el flujo de información
existe HW más eficiente. de una tarea.
z Tener presente la flexibilidad ante futuros z Minimizar costo de comunicaciones. Subsistemas
cambios. independientes podrían asignarse a
procesadores separados.
Determinación de la Administración de
Conectividad Física Almacenamientos de Datos
z Diferentes clases de almacenamientos proveen distintos
z Después de determinar el tipo y número de tipos de consideraciones: costo, tiempo de acceso,
unidades, decidir cómo se van a conectar: capacidad, confiabilidad.
z Elegir la topología de conexión. z Archivos:
z Elegir la topología de unidades repetidas. Tienen z son económicos, simples. Se necesita código adicional para su
inspección.
un patrón regular: secuencia lineal, estrella, árbol. z Las aplicaciones portables deben aislar las dependencias con el
z Elegir la forma de canales de conexión y los file system.
protocolos de comunicación (sincrónica, z Bases de datos administradas por DBMS (Data Base
asincrónica). Management System).
z Buscan optimizar costo y performance en accesos de memoria a
disco.
z Aplicaciones con DBMS más fáciles de portar. Pueden tener
Análisis y Diseño de Sistemas - Clase 24 interfaces complejas.
Análisis y Diseño de Sistemas - Clase 24
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
7
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
8
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
9
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Análisis y Diseño de Sistemas – 1er.Cuatrimestre de 2006.
Manejo de Condiciones
Otros Paradigmas Límites
z Otros paradigmas: z Inicialización: Se deben inicializar datos constantes,
z Sistemas basados en reglas parámetros, variables globales, tareas, objetos
guardianes. Puede estar disponible un subconjunto de la
z Sistemas de programación lógica funcionalidad.
z Programas de formas no procedurales z Terminación: más sencillo que la inicialización. La
mayoría de los objetos se abandonan. Se deben liberar
recursos que hayan sido reservados. En un sistema
z Estos constituyen otros sistemas de control en concurrente la tarea debe notificar su fin.
el cual el control explícito es reemplazado por z Caídas: terminación no planeada del sistema. Errores
especificaciones declarativas con reglas de del usuario, agotamiento de recursos, caídas externas.
evaluación implícitas, posiblemente no El buen diseñador debe planificar una salida ante los
casos de error dejando el entorno lo más limpio posible
determinísticas. y guardando información.
Análisis y Diseño de Sistemas - Clase 24 Análisis y Diseño de Sistemas - Clase 24
Estas transparencias proveen sólo una referencia a los temas. Para su estudio debe remitirse a la bibliografía.
10