Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como...

30
Diseño de Sistemas Conceptos Fundamentales

Transcript of Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como...

Page 1: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Diseño de Sistemas

Conceptos Fundamentales

Page 2: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 2

Que es Diseño?

Tiene como objetivo producir modelos o representaciones de una entidad que se construirá posteriormente

Combina intuición, experiencia, heurísticas, criterios de calidad y un proceso de iteración

Page 3: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 3

Definiciones

El diseño pone de relieve una solución lógica. Determina como el sistema cumple con los

requerimientos. Ejemplos: De que manera el software del SI de la

Biblioteca capturara y registrara los prestamos de libros? Definitivamente: el Diseño se implementa en Hardware y

Software.

Page 4: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 4

Diseño e Ingeniería de Software

El diseño es el núcleo técnico del proceso de ingeniería Toma como base la información proporcionada por el

modelo de análisis El diseño de software evoluciona constantemente

Page 5: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 5

La etapa de Diseño

Se define una estructura eficaz del software Se especifica el detalle procedimental Se analiza la adecuación al hardware Se define la arquitectura del software

Page 6: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 6

Como es un buen Diseño?

Implementa todos los requisitos contenidos en el modelo de análisis

Es comprendido por quienes construyen, prueban y mantienen el sistema

Brinda una idea completa del software, desde la perspectiva de la implementación

Page 7: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 7

Como obtener un buen Diseño?

Organización jerárquica de los participantes Partición lógica del sistema Abstracciones de datos y procedimientos Componentes con características funcionales

independientes

Page 8: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 8

Decisiones del diseñador de sistemas

Organizar el sistema en subsistemas Identificar la concurrencia inherente al problema Asignar los subsistemas a los procesadores y tareas. Seleccionar una aproximación para la administración

de almacenes de datos Manejar el acceso a recursos globales Seleccionar la implementación de control en software Manejar las condiciones de contorno Establecer la compensación de prioridades

Page 9: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 9

1. Descomposición de un sistema en subsistemas

Cada subsistema abarca aspectos del sistema que comparten alguna propiedad común.

Un subsistema es un paquete de clases, operaciones y sucesos que tienen una interfaz razonablemente bien definida.

Se identifica por los servicios que proporciona. Define una forma coherente de examinar un aspecto coherente del

problema. Se puede diseñar independientemente, sin afectar a los demás.

Page 10: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 10

Descomposición de un sistema en subsistemas (II)

Los subsistemas deben definirse de tal forma que la mayoría de las interacciones se produzcan dentro de , y no en los limites de distintos subsistemas, para no tener dependencias.

Los subsistemas de mas bajo nivel se denominan modulos.

La descomposición en subsistemas se puede organizar como una secuencia de capas horizontales o en particiones verticales.

Page 11: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 11

Descomposición de un sistema en subsistemas (III)Capas- Conjunto ordenado de mundos virtuales, cada uno

construido en términos de los que tiene por debajo y proporciona la base de la implementación para los que están encima.

- El conocimiento se transmite en un solo sentido.- Se conocen las capas que están por debajo, pero no

se conocen las que están por encima.

Page 12: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 12

Ejemplo de Arquitectura en capas

Page 13: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 13

Descomposición de un sistema en subsistemas (IV)

Particiones- Dividen verticalmente un sistema en subsistemas

débilmente acoplados o independientes.- Cada uno proporciona una clase de servicio.- Pueden tener entre ellas algún conocimiento mutuo

pero sin crear dependencias de diseño.- Todo sistema puede descomponerse en una mezcla

de capas y particiones.

Page 14: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 14

Ejemplo de particiones

Elementos medibles del comercio electrónico

Inteligencia de negocioTangible y utilizable

Importante conocer esta transformación, pues la información recogida de los Webs es crítica para el canal central del negocio

Servidorcatálogo

Servidorcolaboración

Servidorpublicidad

Sistema registro usuarios

Servidorcomercio

Servidorpersonalización

Servidor de transacciones

Base de datosSistema operativo

Servidor de aplicaciones

Servidor Web

Navegadores

Page 15: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 15

Page 16: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 16

2. Identificación de la concurrencia

Hay que identificar los objetos que deben estar activados concurrentemente y los objetos que tienen actividad que sea mutuamente exclusiva.

Estos objetos (mut.excl.) se pueden juntar en un único hilo de control o tarea.

Dos objetos son concurrentes si pueden recibir sucesos al mismo tiempo sin interactuar.

Si los sucesos no están sincronizados los objetos no pueden plegarse a un hilo de control.

Los subsistemas independientes son deseables porque se pueden asignar a diferentes unidades de Hw. sin coste en comunicaciones.

Page 17: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 17

Identificación de la concurrencia (cont.)

No necesariamente dos subsistemas que sean concurrentes tienen que estar en unidades de Hw distintas, se tienen las interrupciones, Sist. Operativos para simulación en sistemas monoprocesadores.

Un hilo de control es una vía a través de varios diagramas de estados en la cual solo esta activado un objeto en cada instante, se escinde si el objeto envía un suceso y sigue funcionando

Los hilos se implementan como tareas en el CPU

Page 18: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 18

3. Asignacion de subsistemas a procesadores y a tareas

Un subsistema concurrente debe ser asociado a CPU de prop. general o a una unidad funcional especializada.

Estimacion de las necesidades de rendimiento y los recursos necesarios para satisfacerlos.

Seleccionar las implementaciones de HW o SW para los subsistemas.

Asignar los subsistemas de SW a los CPUs para satisfacer las necesidades de rendimiento y para minimizar la comunicacion interprocesadores.

Determinar las conexiones de unidades fisicas que implementan los subsistemas.

Page 19: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 19

4. Administracion de DBMS

Las bases de datos proporcionan puntos de separacion entre subsistemas, con interfaces bien definidas.

Puede combinar archivos, estructuras de datos en memoria o en dispositivos secundarios.

Proporcionan compensaciones entre coste, tiempo de acceso, capacidad y fiabilidad

Page 20: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 20

Administracion de bases de datos (ventajas)

Hay muchas caracteristicas de infraestructura. Existe un interfaz comun para todas las aplicaciones. Un lenguaje de acceso standard.(SQL)

Page 21: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 21

Administracion de bases de datos (desventajas)

Costes temporales en terminos de rendimiento. Funcionalidad insuficiente para aplicaciones avanzadas. Una interfaz dificultosa con los lenguajes de

programacion.

Page 22: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 22

5. Manejo de recursos globales

Se debe identificar los recursos globales determinar mecanismos para controlar el acceso a ellos.

Recursos globales: CPU, memoria, espacio en disco, botones de ratón, nombres de archivos, de clases, BD

Un recurso físico se controla estableciendo un protocolo para obtener acceso

Page 23: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 23

6. Selección de una implementación de control de software

Generalmente se selecciona un único estilo de control, aun cuando no haya una necesidad lógica.

Dos tipos de flujos de control: externo e interno. El control externo es el flujo de los sucesos

externamente visibles entre los objetos del sistema. 3 Tipos: Controlados por procedimientos, por sucesos y

los concurrentes.

Page 24: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 24

6a.Sistemas controlados por procedimientos…

El control esta en el código del programa. Los proc. envían solicitudes de entradas externas, y

cuando llegan el control pasa a quien hace la llamada.

Fácil de implementar mediante lenguajes de prog. La concurrencia de los objetos se hace corresponder

con un flujo secuencial de control. Toda operación debe corresponder con un par de

sucesos.

Page 25: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 25

6b.Sistemas controlados por sucesos

El control reside dentro de un distribuidor. Este es proporcionado por el lenguaje o Sist.

Operativo. Se asignan procs de aplicación a los sucesos, y son

invocados por el distribuidor cuando se produce el suceso correspondiente.

Las llamadas de proc. al distribuidor envían salidas o habilitan entradas, pero no esperan por ellas

Todo proc devuelve el control al distrib. Y no lo retiene.

Page 26: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 26

6c.Sistemas concurrentes.

El control esta concurrentemente en varios objetos independientes, cada uno realiza una tarea distinta.

Los sucesos se implementan como mensajes unidireccionales entre objetos.

Una tarea puede esperar a una entrada y los demás pueden seguir ejecutándose.

El S.O. proporciona una cola para los sucesos de tal forma que no se pierda ninguno si esta ejecutándose una tarea.

Page 27: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 27

6d. Control interno. Las operaciones que afectan a objetos se expanden

formando otras de nivel inferior aplicables a los mismos objetos o a otros.

Es similar a la implementación externa. Difieren en que las operaciones internas son

generados por objetos como parte de la implementación, por lo tanto son predecibles.

Algunas operaciones se implementan como procedimientos.

Page 28: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 28

7. Manejo de las condiciones de entorno

Se deben tener en cuenta las siguientes condiciones: Iniciación. Terminación. Fallos.

Page 29: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 29

8. Establecimiento de prioridades de compensación

Prioridades que se usaran para las compensaciones necesarias durante el diseño

Se debe escoger entre objetivos deseables pero incompatibles.

Se debe conciliar los deseos del cliente y la forma que deben realizar las compensaciones.

El carácter de un sistema queda afectado por las decisiones de compensación..

Page 30: Diseño de Sistemas Conceptos Fundamentales. Lic. Jorge Guerra Guerra2 Que es Diseño? Tiene como objetivo producir modelos o representaciones de una entidad.

Lic. Jorge Guerra Guerra 30

Características de una buena metodología de diseño

Motivar la actividad pretendida El diseño debe ser completo Debe ser verificable antes de su construcción Debe producir productos diferenciados que son

mensurables Debe ser fácilmente aprovechado en el producto final