Conceptos Fundamentales

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

Arquitectura de Sistema de E/S
Ingeniería de Software II
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Fundamentos de Diseño de Software INFT.1
Lenguaje Unificado de Modelado
Sistema operativo Componentes de un sistema operativo
LAN de computadores personales El objetivo de las LAN de computadores personales es el compartir recursos dentro de un entorno reducido, específicamente.
Introducción a LAS Bases de Datos
Diseño y Arquitectura sobre productos de software
Carlos Rojas Kramer Universidad Cristóbal Colón
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Prof. César Luza Montero
Ingeniería del Software
Diseño de un Sistema de Control en Tiempo Real para el Kernel del Sistema Operativo utilizando MatLab-SimuLink Por: MARCO ANTONIO ESPINEL CANGUI DIRECTOR:
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Profesor: Miguel Angel Vidal
Ingeniería del software de la usabilidad (I)
Laura Patricia Pinto Prieto Ingeniera de sistemas.
UNIDAD I Conceptos Básicos.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Conceptos Fundamentales
Modelado Arquitectónico
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Diseño del Software Diseño de datos Diseño arquitectónico
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
CONCEPTOS DE NUEVOS SISTEMAS 1. Un sistema de manejo de información 1. Un sistema de manejo de información Desde la perspectiva del usuario final todas.
Arquitectura de una aplicación
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Diseño e Implementación
Introducción A Las Bases De Datos
Unidad 4 Diseño Arquitectónico Basado en la Funcionalidad
ISF5501 Ingeniería de Software
Ciclo de Vida del Software
Un sistema de gestión de bases de datos: Es un conjunto de programas que permite a los usuarios crear y mantener una base de datos. Por tanto, el SGBD.
CONCEPTOS BÁSICOS Diseño de Sistemas.
METODOLOGÍA OMT Diseño de sistemas.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Ingeniería en Sistemas de Información
Organización y Estructuración de Datos
SICSTRA Sistema de Información para el control de solicitudes de tramites jurídicos Ministerio de Justicia y Seguridad Pública.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Diseño: Fundamento y Documentación ISF5501 Ingeniería de Software Semana 13/2.
Importancia en la efectividad del:
Diseño de Software y su Proceso
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Desarrollo de Software Orientado a Objetos (deficiencias)
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
Unidad 3: Adquisición de Paquetes de Software Msc. Lic. Susana I. Herrera - Lic. Paola Budán UNSE 2012.
Modelo de 3 capas.
Diseño de Sistemas.
Roles de Open UP.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUÍDOS ALUMNOS: MARIANA MIGNÓN RÉDING CARLOS ANTONIO CARRASCO MARTÍNEZ PROFESOR: DR. JOSÉ BERNARDO PARRA.
Edwin Oliveros.  El diseño de sistemas consiste en la transformación del modelo de diseño, que toma en cuenta los requerimientos no funcionales y las.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Elementos y tipos de sistemas operativos
M E N U I N I C I A L PARTES PC PERIFERICOS C P U SOFTWARE 1 johnbonilla.es.tl.
Arquitectura de una aplicación Arquitectur a: desarrolla un plan general del sistema, asegurando que las necesidades de los usuarios sean atendidas. Ingeniería.
TIPOS DE SISTEMAS OPERATIVOS.  Que es un sistema operativo??  Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar,
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Conociendo el modelo Cliente-Servidor
BASES DE DATOS DISTRIBUIDAS M.C.C. María Guadalupe Villanueva Carrasco INGENIERIA EN SISTEMAS COMPUTACIONALES.
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
VERIFICACIÓN Y VALIDACIÓN DE SISTEMAS 3.10 Fase de manejo de requerimientos 4.1 Modelado de pruebas en UML Ponente: ing. Alejandro tapia vazquez.
Entregables del Proyecto
Transcripción de la presentación:

Conceptos Fundamentales Diseño de Sistemas Conceptos Fundamentales

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

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

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

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

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

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

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

Lic. Jorge Guerra Guerra Ejemplo de Arquitectura en capas Lic. Jorge Guerra Guerra

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

Ejemplo de particiones Elementos medibles del comercio electrónico Inteligencia 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 Servidor catálogo colaboración publicidad Sistema registro usuarios comercio personalización Servidor de transacciones Base de datos Sistema operativo Servidor de aplicaciones Servidor Web Navegadores Lic. Jorge Guerra Guerra

Lic. Jorge Guerra Guerra

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

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

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

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

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

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

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

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

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

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

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

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

7. Manejo de las condiciones de entorno Se deben tener en cuenta las siguientes condiciones: Iniciación. Terminación. Fallos. Lic. Jorge Guerra Guerra

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

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