lic. jorge guerra guerra diseño de sistemas conceptos fundamentales universidad nacional mayor de...

36
Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Upload: patricio-callejo

Post on 22-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Diseño de Sistemas

Conceptos Fundamentales

Universidad Nacional Mayor de San Marcos

Facultad de Ingenieria de Sistemas e Informatica

Page 2: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Etapas de las metodologías

• Análisis• Diseño• Implementación

Page 3: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

La etapa de Análisis

• Se obtienen los requisitos generales del sistema

• Se intenta comprender el ámbito del sistema

• Se determina la factibilidad del sistema

Page 4: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

La 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

Page 5: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

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 6: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Definiciones

• 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.

Page 7: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

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 8: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

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 9: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

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 10: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

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 11: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Diseñ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.

Page 12: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

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 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

Page 13: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Descomposicion 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.

Page 14: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Descomposicion 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.

Page 15: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Descomposicion 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)

Page 16: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Ejemplo de Arquitectura en capas

Page 17: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Descomposicion 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.

Page 18: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Ejemplo de particionesElementos medibles del

comercio electrónicoInteligencia de negocio

Tangible 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 aplicacionesServidor Web

Navegadores

Page 19: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Page 20: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Negocio 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").

Page 21: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Negocio 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.

Page 22: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Identificacion 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.

Page 23: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Identificacion 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

Page 24: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

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 25: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Administracion 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

Page 26: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Administracion de almacenes de datos (ventajas)

• Hay muchas caracteristicas de infraestructura.

• Existe un interfaz comun para todas las aplicaciones.

• Un lenguaje de acceso standard.

Page 27: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Administracion de almacenes de datos (desventajas)

• Costes temporales en terminos de rendimiento.

• Funcionalidad insuficiente para aplicaciones avanzadas.

• Una interfaz dificultosa con los lenguajes de programacion.

Page 28: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

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 raton, nombres de archoivos, de clases, BD

• Un recurso fisico se controla estableciendo un protocolopara obtener acceso

Page 29: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Seleccion 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.

Page 30: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Seleccion 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.

Page 31: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Seleccion… (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.

Page 32: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Seleccion… (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.

Page 33: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Seleccion… (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.

Page 34: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Manejo de las condiciones de entorno

• Se deben tener en cuenta las siguientes condiciones:

• Iniciacion.

• Terminacion.

• Fallos.

Page 35: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Establecimiento 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..

Page 36: Lic. Jorge Guerra Guerra Diseño de Sistemas Conceptos Fundamentales Universidad Nacional Mayor de San Marcos Facultad de Ingenieria de Sistemas e Informatica

Lic. Jorge Guerra Guerra

Caracteristicas 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