Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Fundamentos del Diseño de Sistemas

No description
by

Gestión por Procesos

on 4 February 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Fundamentos del Diseño de Sistemas

El diseño de sistemas es el proceso de aplicar distintas técnicas y principios con el propósito de definir un dispositivo, proceso o sistema con los suficientes detalles como para permitir su realización. Es la práctica de tomar una especificación del comportamiento observable externamente y añadir los detalles necesarios para la implementación actual del sistema computacional, incluyendo detalles sobre la interacción de los usuarios, la gestión de tareas y la gestión de datos
Diseño de Sistemas
Fundamentos del Diseño de Sistemas
El principio de ocultamiento de la información sugiere que los módulos deben especificarse de forma que la información (procedimientos y datos) contenida dentro de un módulo sea inaccesible a otros módulos que no necesiten tal información. Por tanto se trata de definir una serie de módulos independientes que se comuniquen sólo a través de la información necesaria para realizar la función de software, estableciendo restricciones de acceso.


Representa la organización de los componentes de programa (módulos). Suele representarse con diagramas de árbol. No presenta detalles procedimentales, sino la profundidad y el ancho de un programa en base a la jerarquización de sus módulos.
Es el proceso para obtener una generalización conceptual de uno o más objetos y de sus características (desde un enfoque en particular. Permite separar por medio de una operación intelectual las cualidades de un objeto para considerarlas aisladamente o para considerar el mismo objeto en su pura esencia o noción.
Consiste en desarrollar una jerarquía de abstracciones descomponiendo una función de forma sucesiva hasta llegar a las sentencias del lenguaje de programación. Es un proceso sucesivo mediante el cual se añade cada vez más detalle.

Consiste en dividir el software en componentes individuales (subsistemas) con nombres y ubicaciones determinados, que se denominan módulos y que se integran y conectan con otros módulos para reducir la complejidad y satisfacer los requisitos.

Modularidad
Se refiere a la estructura global
del software y a las formas en que la estructura proporciona la integridad conceptual de un sistema. Es la estructura jerárquica de los componentes del programa (módulos), la manera en que los componentes interactúan y la estructura de datos que van a utilizar los componentes.
Arquitectura del Software
Abstracción
Refinamiento (o Descomposición)
Ocultación de la Información
Jerarquía de Control
Diseño de Datos
Diseño Arquitectónico
Diseño de Interfaz
Diseño a nivel de componentes
Se centra en el procesamiento de cada módulo individualmente. El procedimiento debe proporcionar una especificación precisa de procesamiento, incluyendo la secuencia de sucesos, los puntos de decisión exactos, las operaciones repetitivas e incluso la estructura/organización de datos.
Consiste en realizar una partición horizontal o vertical de cada función principal del programa.
La estructura de datos es una representación de la relación
lógica entre elementos individuales de datos. Dicta la organización, los métodos de acceso, el grado de asociatividad y las alternativas de procesamiento para la información.
División Estructural
Estructura de Datos
Procedimiento de Software
Conceptos del Diseño
Proporciona el marco de trabajo necesario para conseguir que el sistema funcione correctamente.
Favorece la gestión de la complejidad de los sistemas de software y la consecución de los factores de calidad que estos sistemas requieren exhibir.
Abstracción Procedimental
Abstracción de Datos
Abstracción de Control
Modularizar de más, hace que el esfuerzo se incremente, ya que los módulos serán más difíciles de integrar.
Horizontalmente pueden definirse tres particiones:
-Entrada
-Transformación de datos (frecuentemente llamado procesamiento)
-Salida
Ventajas:
Proporciona software más fácil de probar
Conduce a un software más fácil de mantener
Propaga menos efectos secundarios
Proporciona software más fácil de ampliar
Desventajas:
Aumenta la comunicación entre módulos, pudiendo complicar el control global del flujo del programa
La partición vertical se conoce también como descomposición en factores (factoring):

Expresa que el control, toma de decisiones, y el trabajo se distribuyan de forma descendente en la arquitectura del programa
Los módulos de nivel superior deben realizar funciones de control y poco trabajo de procesamiento
Los módulos que residen en la parte baja de la arquitectura deben de ser los que realicen las tareas de entrada, cálculo y salida
Estructuras:
Elemento escalar
Vector secuencial
Espacio n-dimensional
Lista enlazada
Facilita:
Extensibilidad (interfaces bien definidas)
Reusabilidad
Bajo acoplamiento
Alta cohesión
Portabilidad (oculta las dependencias máquina)
Es la medida de interconexión entre los módulos de una estructura de software:
Minimizar el acoplamiento implica un mejor diseño, un sistema bien dividido, y que ningún módulo deba preocuparse de los detalles internos del resto de los módulos.
Puede lograrse eliminando relaciones innecesarias
Es la medida de la relación funcional entre los elementos de un módulo.
Estudia el nivel de relación que existe entre elementos de un mismo módulo.
Se logra manteniendo unidos aquellos elementos que estén relacionados y manteniendo fuera a los que no.
Fortalece la asociatividad funcional de las actividades.
Un módulo cohesivo lleva a cabo una sola tarea dentro de un procedimiento único y bien definido.
FIN
Full transcript