Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Clase1Diseno de Sistemas
Clase1Diseno de Sistemas
Conceptos Fundamentales
La etapa de Anlisis
Se obtienen los requisitos generales del sistema Se intenta comprender el mbito del sistema Se determina la factibilidad del sistema
La etapa de Implementacin
Se traducen los modelos a un lenguaje de programacin Se depura la codificacin Se pone en marcha el proyecto
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
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.
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
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
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
Organizacin jerrquica de los participantes Particin lgica del sistema Abstracciones de datos y procedimientos Componentes con caractersticas funcionales independientes
10
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.
11
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
12
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.
13
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.
14
15
16
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.
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
19
20
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.
22
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
23
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
25
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
26
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.
27
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.
28
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.
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.
30
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.
31
32
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..
33
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
34
35
Descomposicin (1).
36
Descomposicin (2)
37
Descomposicin. (3)
38
Abstraccin.
39
Abstraccin.(2)
40
Abstraccin (3).
41
Abstraccin y Clases
42
Ocultamiento de la Informacin.
43
Modularidad
44
Modularidad (2)
45
46
47
48
49
50
51
52
Cohesin alta
53
Cohesin. Niveles.
54
55
56
57
58
59
60
Cohesin. Clases.
61
62
Cohesin. Clases
63
64
65