Está en la página 1de 65

Diseo de Sistemas

Conceptos Fundamentales

Etapas de las metodologas

Anlisis Diseo Implementacin

Lic. Jorge Guerra Guerra

La etapa de Anlisis

Se obtienen los requisitos generales del sistema Se intenta comprender el mbito del sistema Se determina la factibilidad del sistema

Lic. Jorge Guerra Guerra

La etapa de Implementacin

Se traducen los modelos a un lenguaje de programacin Se depura la codificacin Se pone en marcha el proyecto

Lic. Jorge Guerra Guerra

Que es Diseo?

Tiene como objetivo producir modelos o representaciones de una entidad que se construir posteriormente Combina intuicin, experiencia, heursticas, criterios de calidad y un proceso de iteracin

Lic. Jorge Guerra Guerra

Definiciones

El diseo pone de relieve una solucin lgica. 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 Diseo se implementa en Hardware y Software.

Lic. Jorge Guerra Guerra

Diseo e Ingeniera de Software

El diseo es el ncleo tcnico del proceso de ingeniera Toma como base la informacin proporcionada por el modelo de anlisis El diseo de software evoluciona constantemente

Lic. Jorge Guerra Guerra

La etapa de Diseo

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

Lic. Jorge Guerra Guerra

Como es un buen Diseo?

Implementa todos los requisitos contenidos en el modelo de anlisis Es comprendido por quienes construyen, prueban y mantienen el sistema Brinda una idea completa del software, desde la perspectiva de la implementacin

Lic. Jorge Guerra Guerra

Como obtener un buen Diseo?

Organizacin jerrquica de los participantes Particin lgica del sistema Abstracciones de datos y procedimientos Componentes con caractersticas funcionales independientes

Lic. Jorge Guerra Guerra

10

Diseo Orientado a Objeto (OOD)

Se definen los objetos lgicos del SW que sern implementados en un lenguaje OOP. Existen diferentes metodologas para el diseo de sistemas OO. Tambin puede decirse que el diseo decide la manera en que debe construirse el sistema para satisfacer los requerimientos de los usuarios.

Lic. Jorge Guerra Guerra

11

Decisiones del diseador de sistemas

Organizar el sistema en subsistemas Identificar la concurrencia inherente al problema Asignar los subsistemas a los procesadores y tareas. Seleccionar una aproximacin para la administracin de almacenes de datos Manejar el acceso a recursos globales Seleccionar la implementacin de control en software Manejar las condiciones de contorno Establecer la compensacin de prioridades

Lic. Jorge Guerra Guerra

12

1. Descomposicin de un sistema en subsistemas

Cada subsistema abarca aspectos del sistema que compartan alguna propiedad comn. 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 disear independientemente, sin afectar a los dems.

Lic. Jorge Guerra Guerra

13

Descomposicin de un sistema en subsistemas (II)

Los subsistemas deben definirse de tal forma que la mayora 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 descomposicin en subsistemas se puede organizar como una secuencia de capas horizontales o en particiones verticales.

Lic. Jorge Guerra Guerra

14

Descomposicin de un sistema en subsistemas (III)


Capas - Conjunto ordenado de mundos virtuales, cada uno construido en trminos de los que tiene por debajo y proporciona la base de la implementacin para los que estn encima. El conocimiento se transmite en un solo sentido. - Se conocen las capas que estn por debajo , pero no se conocen las que estn por encima. - Se presentan en 2 formas: Abierta (solo en trminos de la capa inmediatamente superior) y Cerrada (caractersticas de cualquier capa inferior)

Lic. Jorge Guerra Guerra

15

Ejemplo de Arquitectura en capas

Lic. Jorge Guerra Guerra

16

Descomposicin de un sistema en subsistemas (IV) Particiones


-

Dividen verticalmente un sistema en subsistemas dbilmente acoplados o independientes. Cada uno proporciona una clase de servicio. Pueden tener entre ellas algn conocimiento mutuo pero sin crear dependencias de diseo. Todo sistema puede descomponerse en una mezcla de capas y particiones.

Lic. Jorge Guerra Guerra

17

Ejemplo de particiones
Elementos medibles del comercio electrnico Inteligencia de negocio Tangible y utilizable
Importante conocer esta transformacin, pues la informacin recogida de los Webs es crtica para el canal central del negocio

Navegadores

Servidor Web Servidor de aplicaciones


Servidor catlogo Servidor colaboracin Servidor publicidad Sistema registro usuarios Servidor comercio Servidor personalizacin

Servidor de transacciones Base de datos Sistema operativo


Lic. Jorge Guerra Guerra 18

Lic. Jorge Guerra Guerra

19

Lic. Jorge Guerra Guerra

20

Lic. Jorge Guerra Guerra

21

2. Identificacin 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 estn 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.

Lic. Jorge Guerra Guerra

22

Identificacin 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 simulacin en sistemas monoprocesadores. Un hilo de control es una va a travs de varios diagramas de estados en la cual solo esta activado un objeto en cada instante, se escinde si el objeto enva un suceso y sigue funcionando Los hilos se implementan como tareas en el CPU

Lic. Jorge Guerra Guerra

23

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.
Lic. Jorge Guerra Guerra 24

4. Eleccion 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

Lic. Jorge Guerra Guerra

25

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 ratn, nombres de archivos, de clases, BD Un recurso fsico se controla estableciendo un protocolo para obtener acceso

Lic. Jorge Guerra Guerra

26

6. Seleccin de una implementacin de control de software

Generalmente se selecciona un nico estilo de control, aun cuando no haya una necesidad lgica. 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.

Lic. Jorge Guerra Guerra

27

6a.Sistemas controlados por procedimientos

El control esta en el cdigo del programa. Los proc. envan solicitudes de entradas externas, y cuando llegan el control pasa a quien hace la llamada. Fcil de implementar mediante lenguajes de prog. La concurrencia de los objetos se hace corresponder con un flujo secuencial de control. Toda operacin debe corresponder con un par de sucesos.

Lic. Jorge Guerra Guerra

28

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 aplicacin a los sucesos, y son invocados por el distribuidor cuando se produce el suceso correspondiente. Las llamadas de proc. al distribuidor envan salidas o habilitan entradas, pero no esperan por ellas Todo proc devuelve el control al distrib. Y no lo retiene.

Lic. Jorge Guerra Guerra

29

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 dems pueden seguir ejecutndose. El S.O. proporciona una cola para los sucesos de tal forma que no se pierda ninguno si esta ejecutndose una tarea.

Lic. Jorge Guerra Guerra

30

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 implementacin externa. Difieren en que las operaciones internas son generados por objetos como parte de la implementacin, por lo tanto son predecibles. Algunas operaciones se implementan como procedimientos.

Lic. Jorge Guerra Guerra

31

7. Manejo de las condiciones de entorno

Se deben tener en cuenta las siguientes condiciones: Iniciacin. Terminacin. Fallos.

Lic. Jorge Guerra Guerra

32

8. Establecimiento de prioridades de compensacin

Prioridades que se usaran para las compensaciones necesarias durante el diseo Se debe escoger entre objetivos deseables pero incompatibles. Se debe conciliar los deseos del cliente y la forma que deben realizar las compensaciones. El carcter de un sistema queda afectado por las decisiones de compensacin..

Lic. Jorge Guerra Guerra

33

Caractersticas de una buena metodologa de diseo

Motivar la actividad pretendida El diseo debe ser completo Debe ser verificable antes de su construccin Debe producir productos diferenciados que son mensurables Debe ser fcilmente aprovechado en el producto final

Lic. Jorge Guerra Guerra

34

Principios y conceptos generales

Lic. Jorge Guerra Guerra

35

Descomposicin (1).

Lic. Jorge Guerra Guerra

36

Descomposicin (2)

Lic. Jorge Guerra Guerra

37

Descomposicin. (3)

Lic. Jorge Guerra Guerra

38

Abstraccin.

Lic. Jorge Guerra Guerra

39

Abstraccin.(2)

Lic. Jorge Guerra Guerra

40

Abstraccin (3).

Lic. Jorge Guerra Guerra

41

Abstraccin y Clases

Lic. Jorge Guerra Guerra

42

Ocultamiento de la Informacin.

Lic. Jorge Guerra Guerra

43

Modularidad

Lic. Jorge Guerra Guerra

44

Modularidad (2)

Lic. Jorge Guerra Guerra

45

Criterios de Meyer para evaluar modularidad

Lic. Jorge Guerra Guerra

46

Criterios de Meyer para evaluar modularidad (2)

Lic. Jorge Guerra Guerra

47

Criterios de Meyer para evaluar modularidad (3)

Lic. Jorge Guerra Guerra

48

Reglas de Meyer para la modularidad

Lic. Jorge Guerra Guerra

49

Reglas de Meyer para la modularidad

Lic. Jorge Guerra Guerra

50

Reglas de Meyer para la modularidad (cont.)

Lic. Jorge Guerra Guerra

51

Reglas de Meyer para la modularidad (cont.)

Lic. Jorge Guerra Guerra

52

Cohesin alta

Lic. Jorge Guerra Guerra

53

Cohesin. Niveles.

Lic. Jorge Guerra Guerra

54

Tipos de cohesin. Funcional

Lic. Jorge Guerra Guerra

55

Tipos de cohesin. Secuencial

Lic. Jorge Guerra Guerra

56

Tipos de cohesin. Comunicacin.

Lic. Jorge Guerra Guerra

57

Tipos de cohesin. (cont.)

Lic. Jorge Guerra Guerra

58

Tipos de cohesin. (cont.)

Lic. Jorge Guerra Guerra

59

Tipos de cohesin. Cohesin de capas (layers)

Lic. Jorge Guerra Guerra

60

Cohesin. Clases.

Lic. Jorge Guerra Guerra

61

Cohesin Funcional Clases.

Lic. Jorge Guerra Guerra

62

Cohesin. Clases

Lic. Jorge Guerra Guerra

63

Cohesin. Clases. (Page-Jones)

Lic. Jorge Guerra Guerra

64

Mixed-instance cohesion (Page-Jones)

Lic. Jorge Guerra Guerra

65

También podría gustarte