Title: Dise
1Diseño de Sistemas
Universidad Nacional Mayor de San Marcos
Facultad de Ingenieria de Sistemas e Informatica
2Etapas de las metodologías
- Análisis
- Diseño
- Implementación
3La etapa de Análisis
- Se obtienen los requisitos generales del sistema
- Se intenta comprender el ámbito del sistema
- Se determina la factibilidad del sistema
4La etapa de Implementación
- Se traducen los modelos a un lenguaje de
programación - Se depura la codificación
- Se pone en marcha el proyecto
5Que 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
6Definiciones
- El diseño pone de relieve una solucion logica.
- 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.
7Diseñ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
8La 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
9Como 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
10Como 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
11Diseño Orientado a Objeto (OOD)
- Se definen los objetos logicos del SW que seran
implementados en un lenguaje OOP. - Existen diferentes metodologias para el diseño de
sistemas OO. - Tambien puede decirse que el diseño decide la
manera en que debe construirse el sistema para
satisfacer los requerimientos de los usuarios.
12Decisiones 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 aproximacion para la
administracion de almacenes de datos - Manejar el acceso a recursos globales
- Seleccionar la implementacion de control en
software - Manejar las condiciones de contorno
- Establecer la compensacion de prioridades
13Descomposicion de un sistema en subsistemas
- Cada subsistema abarca aspectos del sistema que
compartan alguna propiedad comun. - 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 demas.
14Descomposicion de un sistema en subsistemas (II)
- Los subsistemas deben definirse de tal forma que
la mayoria 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 descomposicion en subsistemas se puede
organizar como una secuencia de capas
horizontales o en particiones verticales.
15Descomposicion de un sistema en subsistemas (III)
- Capas
- Conjunto ordenado de mundos virtuales, cada uno
construido en terminos de los que tiene por
debajo y proporciona la base de la implementacion
para los que estan encima. - El conocimento se transmite en un solo sentido.
- Se conocen las capas que estan por debajo , pero
no se conocen las que estan por encima. - Se presentan en 2 formas Abierta (solo en
terminos de la capa inmediatamente superior) y
Cerrada (caracteristicas de cualquier capa
inferior)
16Ejemplo de Arquitectura en capas
17Descomposicion de un sistema en subsistemas (IV)
- Particiones
- Dividen verticalmente un sistema en subsistemas
debilmente acoplados o independientes. - Cada uno proporciona una clase de servicio.
- Pueden tener entre ellas algun conocimiento
mutuo pero sin crear dependencias de diseño. - Todo sistema puede descomponerse en una mezcla de
capas y particiones.
18Ejemplo de particiones
Importante conocer esta transformación, pues la
información recogida de los Webs es crítica para
el canal central del negocio
19(No Transcript)
20Negocio a Negocio (b2b)Se refiere a un negocio
que hace uso de una red para hacer ordenes de
compra a sus proveedores, recibir facturas y
realizar los pagos correspondientes.
Estacategoría ha sido utilizada por muchos años,
particularmente haciendo uso de EDIsobre redes
privadas o redes de valor agregado ("Value added
Networks - VAN").
21Negocio a Cliente (b2c)El cliente puede comparar
con la venta al detalle de manera electrónica.
Estacategoría ha tenido gran aceptación y se ha
ampliado sobre manera gracias alWWW, ya que
existen diversos centros comerciales (del inglés
malls) por todoInternet ofreciendo toda clase de
bienes de consumo, que van desde pasteles yvinos
hasta computadoras.
22Identificacion 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
unico hilo de control o tarea. - Dos objetos son concurrentes si pueden recibir
sucesos al mismo tiempo sin interactuar. - Si los sucesos no estan sincronizados los objetos
no pueden plegarse a un hilo de control. - Los subsistemas independientes son deseables
porque se puden asignar a diferentes unidades de
Hw. sin coste en comunicaciones.
23Identificacion de la concurrencia
- No necesariamente dos subsistemas que sean
concurrentes tienen que estar en unidades de Hw
distintas, se tienen las interrupciones, Sist.
Operativos para simulacion en sistemas
monoprocesadores. - Un hilo de control es una via a traves de varios
diagramas de estados en la cual solo esta
activado un objeto en cada instante, se escinde
si el objeto envia un suceso y sigue funcionando - Los hilos se implementan como tareas en el CPU
24Asignacion 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.
25Administracion de almacenes de datos
- Los almacenes de datos proporcionan puntos de
separacion entre subsistemas, con interfaces bien
definidas. - Puede combinar archivos, estructuras y bases de
datos en memoria o en dispositivos secundarios. - Proporcionan compensaciones entre coste, tiempo
de acceso, capacidad y fiabilidad
26Administracion de almacenes de datos (ventajas)
- Hay muchas caracteristicas de infraestructura.
- Existe un interfaz comun para todas las
aplicaciones. - Un lenguaje de acceso standard.
27Administracion de almacenes de datos (desventajas)
- Costes temporales en terminos de rendimiento.
- Funcionalidad insuficiente para aplicaciones
avanzadas. - Una interfaz dificultosa con los lenguajes de
programacion.
28Manejo 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 raton, nombres de archoivos, de
clases, BD - Un recurso fisico se controla estableciendo un
protocolopara obtener acceso
29Seleccion de una implementacion de control de
software
- Generalmente se selecciona un unico estilo de
control, aun cuando no haya una necesidad logica. - 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.
30Seleccion de (continuacion)
- Sistemas controlados por procedimientos
- El control esta en el codigo del programa.
- Los proc envian solicitudes de entradas externas,
y cuando llegan el control pasa a quien hace la
llamada. - Facil de implementar mediante lenguajes de prog.
- La concurrencia de los objetos se hace
corresponder con un flujo secuencial de control. - Toda operacion debe correspoder con un par de
sucesos.
31Seleccion (continuacion)
- Sistemas controlados por sucesos.
- El control reside dentro de un distribuidor.
- Este es proporcionado por el lenguaje o Sist.
Operativo. - Se asignan procs de aplicacion a los sucesos, y
son invocados por el distribuidor cuando se
produce el suceso correspondiente. - Las llamadas de proc. al distribuidor envian
salidas o habilitan entradas, pero no esperan por
ellas - Todo proc devuelve el control al distrib. Y no lo
retiene.
32Seleccion (continuacion)
- 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 demas
pueden seguir ejecutandose. - El S.O. proporciona una cola para los sucesos de
tal forma que no se pierda ninguno si esta
ejecutandose una tarea.
33Seleccion (continuacion)
- 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 implementacion externa.
- Difieren en que las operaciones internas son
generados por objetos como parte de la
implementacion, por lo tanto son predecibles. - Alugunas operaciones se implementan como
procedimientos.
34Manejo de las condiciones de entorno
- Se deben tener en cuenta las siguientes
condiciones - Iniciacion.
- Terminacion.
- Fallos.
35Establecimiento de prioridades de compensacion
- Prioridades que se usaran para las compensaciones
necesarias durante el diseño - Se debe escojer entre objetivos deseables pero
incompatibles. - Se debe conciliar los deseos del cliente y la
forma que deben realizar las compensaciones. - El caracter de un sistema queda afectado por las
decisiones de compensacion..
36Caracteristicas de una buena metodologia de diseño
- Motivar la actividad pretendida
- El diseño debe ser completo
- Debe ser verificable antes de su construccion
- Debe producir productos diferenciados que son
mensurables - Debe ser facilmente aprovechado en el producto
final